summaryrefslogtreecommitdiffstats
path: root/comm/mail/components/im/messages/bubbles
diff options
context:
space:
mode:
Diffstat (limited to 'comm/mail/components/im/messages/bubbles')
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_0.pngbin0 -> 581 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_0_alt.pngbin0 -> 658 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_10.pngbin0 -> 592 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_100.pngbin0 -> 596 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_100_alt.pngbin0 -> 678 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_10_alt.pngbin0 -> 666 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_110.pngbin0 -> 600 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_110_alt.pngbin0 -> 676 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_120.pngbin0 -> 589 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_120_alt.pngbin0 -> 666 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_130.pngbin0 -> 602 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_130_alt.pngbin0 -> 677 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_140.pngbin0 -> 597 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_140_alt.pngbin0 -> 678 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_150.pngbin0 -> 596 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_150_alt.pngbin0 -> 682 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_160.pngbin0 -> 600 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_160_alt.pngbin0 -> 678 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_170.pngbin0 -> 593 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_170_alt.pngbin0 -> 669 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_180.pngbin0 -> 562 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_180_alt.pngbin0 -> 647 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_190.pngbin0 -> 588 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_190_alt.pngbin0 -> 667 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_20.pngbin0 -> 593 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_200.pngbin0 -> 594 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_200_alt.pngbin0 -> 672 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_20_alt.pngbin0 -> 669 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_210.pngbin0 -> 590 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_210_alt.pngbin0 -> 672 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_220.pngbin0 -> 591 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_220_alt.pngbin0 -> 676 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_230.pngbin0 -> 588 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_230_alt.pngbin0 -> 675 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_240.pngbin0 -> 578 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_240_alt.pngbin0 -> 662 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_250.pngbin0 -> 590 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_250_alt.pngbin0 -> 677 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_260.pngbin0 -> 593 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_260_alt.pngbin0 -> 678 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_270.pngbin0 -> 589 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_270_alt.pngbin0 -> 673 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_280.pngbin0 -> 585 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_280_alt.pngbin0 -> 670 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_290.pngbin0 -> 584 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_290_alt.pngbin0 -> 679 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_30.pngbin0 -> 594 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_300.pngbin0 -> 561 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_300_alt.pngbin0 -> 653 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_30_alt.pngbin0 -> 674 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_310.pngbin0 -> 582 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_310_alt.pngbin0 -> 674 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_320.pngbin0 -> 589 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_320_alt.pngbin0 -> 672 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_330.pngbin0 -> 592 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_330_alt.pngbin0 -> 678 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_340.pngbin0 -> 591 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_340_alt.pngbin0 -> 675 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_350.pngbin0 -> 592 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_350_alt.pngbin0 -> 667 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_40.pngbin0 -> 599 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_40_alt.pngbin0 -> 683 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_50.pngbin0 -> 593 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_50_alt.pngbin0 -> 660 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_60.pngbin0 -> 525 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_60_alt.pngbin0 -> 590 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_70.pngbin0 -> 596 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_70_alt.pngbin0 -> 661 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_80.pngbin0 -> 594 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_80_alt.pngbin0 -> 675 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_90.pngbin0 -> 596 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_90_alt.pngbin0 -> 680 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/indicator_grey.pngbin0 -> 608 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/minus-hover.pngbin0 -> 620 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/minus.pngbin0 -> 619 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/plus-hover.pngbin0 -> 615 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Bitmaps/plus.pngbin0 -> 614 bytes
-rw-r--r--comm/mail/components/im/messages/bubbles/Footer.html5
-rw-r--r--comm/mail/components/im/messages/bubbles/Incoming/Content.html7
-rw-r--r--comm/mail/components/im/messages/bubbles/Incoming/Context.html7
-rw-r--r--comm/mail/components/im/messages/bubbles/Incoming/NextContent.html3
-rw-r--r--comm/mail/components/im/messages/bubbles/Info.plist41
-rw-r--r--comm/mail/components/im/messages/bubbles/NextStatus.html3
-rw-r--r--comm/mail/components/im/messages/bubbles/Status.html4
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Blue_-_Green.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Blue_-_Green_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Blue_-_Pink.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Blue_-_Pink_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Blue_-_Red.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Blue_-_Red_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Green_-_Blue.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Green_-_Blue_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Green_-_Purple.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Green_-_Purple_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Green_-_Red.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Green_-_Red_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Grey_-_Blue.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Grey_-_Blue_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Grey_-_Pink.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Grey_-_Pink_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Grey_-_Purple.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Grey_-_Purple_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Grey_-_Red.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Grey_-_Red_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Pink_-_Blue.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Pink_-_Blue_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Pink_-_Purple.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Pink_-_Purple_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Purple_-_Green.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Purple_-_Green_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Purple_-_Pink.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Purple_-_Pink_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Red_-_Blue.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Red_-_Blue_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Red_-_Green.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/Variants/Red_-_Green_Alternating.css36
-rw-r--r--comm/mail/components/im/messages/bubbles/inline.js330
-rw-r--r--comm/mail/components/im/messages/bubbles/main.css210
118 files changed, 1762 insertions, 0 deletions
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_0.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_0.png
new file mode 100644
index 0000000000..eb0051de34
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_0.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_0_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_0_alt.png
new file mode 100644
index 0000000000..9c5890b792
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_0_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_10.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_10.png
new file mode 100644
index 0000000000..17295f5474
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_10.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_100.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_100.png
new file mode 100644
index 0000000000..fc54959c86
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_100.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_100_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_100_alt.png
new file mode 100644
index 0000000000..218351534b
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_100_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_10_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_10_alt.png
new file mode 100644
index 0000000000..4692e1cf92
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_10_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_110.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_110.png
new file mode 100644
index 0000000000..bbd8c91b10
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_110.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_110_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_110_alt.png
new file mode 100644
index 0000000000..be6c4b2b08
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_110_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_120.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_120.png
new file mode 100644
index 0000000000..de40ea9eba
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_120.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_120_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_120_alt.png
new file mode 100644
index 0000000000..d95237d37c
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_120_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_130.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_130.png
new file mode 100644
index 0000000000..d6360fb7bd
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_130.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_130_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_130_alt.png
new file mode 100644
index 0000000000..5c10415912
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_130_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_140.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_140.png
new file mode 100644
index 0000000000..2bc8b95efa
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_140.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_140_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_140_alt.png
new file mode 100644
index 0000000000..a0d8e59ce9
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_140_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_150.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_150.png
new file mode 100644
index 0000000000..572333b2f6
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_150.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_150_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_150_alt.png
new file mode 100644
index 0000000000..f1e1740e91
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_150_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_160.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_160.png
new file mode 100644
index 0000000000..f2ff22beae
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_160.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_160_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_160_alt.png
new file mode 100644
index 0000000000..ba4118844e
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_160_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_170.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_170.png
new file mode 100644
index 0000000000..391439be42
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_170.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_170_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_170_alt.png
new file mode 100644
index 0000000000..b3b2683090
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_170_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_180.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_180.png
new file mode 100644
index 0000000000..b59ffae9b6
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_180.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_180_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_180_alt.png
new file mode 100644
index 0000000000..1a08183e18
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_180_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_190.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_190.png
new file mode 100644
index 0000000000..8df7a9d569
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_190.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_190_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_190_alt.png
new file mode 100644
index 0000000000..327ed9be66
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_190_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_20.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_20.png
new file mode 100644
index 0000000000..f5b2d08f2a
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_20.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_200.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_200.png
new file mode 100644
index 0000000000..fd5baf149f
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_200.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_200_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_200_alt.png
new file mode 100644
index 0000000000..a03b2d7a29
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_200_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_20_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_20_alt.png
new file mode 100644
index 0000000000..2dbb2241a2
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_20_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_210.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_210.png
new file mode 100644
index 0000000000..8505ef0de8
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_210.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_210_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_210_alt.png
new file mode 100644
index 0000000000..18e3fac3af
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_210_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_220.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_220.png
new file mode 100644
index 0000000000..02f82c3972
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_220.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_220_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_220_alt.png
new file mode 100644
index 0000000000..d14afacf6d
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_220_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_230.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_230.png
new file mode 100644
index 0000000000..f9fb364e28
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_230.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_230_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_230_alt.png
new file mode 100644
index 0000000000..13388613e5
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_230_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_240.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_240.png
new file mode 100644
index 0000000000..8bb8757871
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_240.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_240_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_240_alt.png
new file mode 100644
index 0000000000..bd70b8d77a
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_240_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_250.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_250.png
new file mode 100644
index 0000000000..b55967823f
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_250.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_250_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_250_alt.png
new file mode 100644
index 0000000000..2b239c315b
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_250_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_260.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_260.png
new file mode 100644
index 0000000000..f9c0cee4fe
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_260.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_260_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_260_alt.png
new file mode 100644
index 0000000000..56839321e2
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_260_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_270.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_270.png
new file mode 100644
index 0000000000..cec2e2817e
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_270.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_270_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_270_alt.png
new file mode 100644
index 0000000000..ffcbe04eb8
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_270_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_280.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_280.png
new file mode 100644
index 0000000000..a2e01b5dfa
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_280.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_280_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_280_alt.png
new file mode 100644
index 0000000000..6cf6949f78
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_280_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_290.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_290.png
new file mode 100644
index 0000000000..b4acbf8631
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_290.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_290_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_290_alt.png
new file mode 100644
index 0000000000..0652f280ef
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_290_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_30.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_30.png
new file mode 100644
index 0000000000..86b9ea0206
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_30.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_300.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_300.png
new file mode 100644
index 0000000000..36788859bf
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_300.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_300_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_300_alt.png
new file mode 100644
index 0000000000..45e61fccb0
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_300_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_30_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_30_alt.png
new file mode 100644
index 0000000000..efd75314fa
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_30_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_310.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_310.png
new file mode 100644
index 0000000000..69f590d967
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_310.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_310_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_310_alt.png
new file mode 100644
index 0000000000..77a2469399
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_310_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_320.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_320.png
new file mode 100644
index 0000000000..9ad18a0dea
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_320.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_320_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_320_alt.png
new file mode 100644
index 0000000000..0e7a2e35c0
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_320_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_330.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_330.png
new file mode 100644
index 0000000000..516e309aec
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_330.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_330_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_330_alt.png
new file mode 100644
index 0000000000..9981a24814
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_330_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_340.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_340.png
new file mode 100644
index 0000000000..60cc155e03
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_340.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_340_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_340_alt.png
new file mode 100644
index 0000000000..cb2860cf66
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_340_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_350.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_350.png
new file mode 100644
index 0000000000..cc5a303a75
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_350.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_350_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_350_alt.png
new file mode 100644
index 0000000000..dd0ef8da8a
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_350_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_40.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_40.png
new file mode 100644
index 0000000000..15f010224b
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_40.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_40_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_40_alt.png
new file mode 100644
index 0000000000..8d40d43293
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_40_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_50.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_50.png
new file mode 100644
index 0000000000..7281760571
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_50.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_50_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_50_alt.png
new file mode 100644
index 0000000000..bb4cc9044e
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_50_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_60.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_60.png
new file mode 100644
index 0000000000..f7d05aae55
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_60.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_60_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_60_alt.png
new file mode 100644
index 0000000000..a939ea98b9
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_60_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_70.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_70.png
new file mode 100644
index 0000000000..823cd4f2b0
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_70.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_70_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_70_alt.png
new file mode 100644
index 0000000000..85b1781135
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_70_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_80.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_80.png
new file mode 100644
index 0000000000..0cbff3ee35
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_80.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_80_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_80_alt.png
new file mode 100644
index 0000000000..e51a56935c
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_80_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_90.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_90.png
new file mode 100644
index 0000000000..758a8f95e3
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_90.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_90_alt.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_90_alt.png
new file mode 100644
index 0000000000..5e41f98397
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_90_alt.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_grey.png b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_grey.png
new file mode 100644
index 0000000000..b3c8e68eba
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/indicator_grey.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/minus-hover.png b/comm/mail/components/im/messages/bubbles/Bitmaps/minus-hover.png
new file mode 100644
index 0000000000..93a69cc789
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/minus-hover.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/minus.png b/comm/mail/components/im/messages/bubbles/Bitmaps/minus.png
new file mode 100644
index 0000000000..72107d151f
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/minus.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/plus-hover.png b/comm/mail/components/im/messages/bubbles/Bitmaps/plus-hover.png
new file mode 100644
index 0000000000..4509b17c0e
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/plus-hover.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Bitmaps/plus.png b/comm/mail/components/im/messages/bubbles/Bitmaps/plus.png
new file mode 100644
index 0000000000..eaf364177d
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Bitmaps/plus.png
Binary files differ
diff --git a/comm/mail/components/im/messages/bubbles/Footer.html b/comm/mail/components/im/messages/bubbles/Footer.html
new file mode 100644
index 0000000000..b024066d50
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Footer.html
@@ -0,0 +1,5 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<p id="lastMessage"/>
diff --git a/comm/mail/components/im/messages/bubbles/Incoming/Content.html b/comm/mail/components/im/messages/bubbles/Incoming/Content.html
new file mode 100644
index 0000000000..f37578f699
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Incoming/Content.html
@@ -0,0 +1,7 @@
+<div class="bubble %messageClasses%" data-senderColor="%senderColor%">
+<div class="indicator">
+<p class="pseudo">%sender%<span class="time"> - %time{%H:%M}%</span></p>
+<p class="%messageClasses%">%message%</p>
+<div id="insert"></div>
+</div>
+</div>
diff --git a/comm/mail/components/im/messages/bubbles/Incoming/Context.html b/comm/mail/components/im/messages/bubbles/Incoming/Context.html
new file mode 100644
index 0000000000..8d29cbefbe
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Incoming/Context.html
@@ -0,0 +1,7 @@
+<div class="bubble context %messageClasses%" data-senderColor="%senderColor%">
+<div class="indicator">
+<p class="pseudo">%sender%<span class="time"> - %time{%H:%M}%</span></p>
+<p class="%messageClasses%">%message%</p>
+<div id="insert"></div>
+</div>
+</div>
diff --git a/comm/mail/components/im/messages/bubbles/Incoming/NextContent.html b/comm/mail/components/im/messages/bubbles/Incoming/NextContent.html
new file mode 100644
index 0000000000..3c8aa904ba
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Incoming/NextContent.html
@@ -0,0 +1,3 @@
+<hr/>
+<p class="%messageClasses%">%message%</p>
+<div id="insert"></div>
diff --git a/comm/mail/components/im/messages/bubbles/Info.plist b/comm/mail/components/im/messages/bubbles/Info.plist
new file mode 100644
index 0000000000..0b26e9413b
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Info.plist
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>ActionMessageTemplate</key>
+ <string>%sender% %message%</string>
+
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+
+ <key>CFBundleGetInfoString</key>
+ <string>Instantbird Bubbles Message Style</string>
+
+ <key>CFBundleIdentifier</key>
+ <string>org.instantbird.bubbles.message.style</string>
+
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>1.0</string>
+
+ <key>CFBundleName</key>
+ <string>Bubbles</string>
+
+ <key>CFBundlePackageType</key>
+ <string>AdIM</string>
+
+ <key>DefaultBackgroundColor</key>
+ <string>FFFFFF</string>
+
+ <key>DefaultVariant</key>
+ <string>Blue_-_Red_Alternating</string>
+
+ <key>DisableCustomBackground</key>
+ <false/>
+
+ <key>MessageViewVersion</key>
+ <integer>4</integer>
+
+ <key>ShowsUserIcons</key>
+ <true/>
+</dict>
+</plist>
diff --git a/comm/mail/components/im/messages/bubbles/NextStatus.html b/comm/mail/components/im/messages/bubbles/NextStatus.html
new file mode 100644
index 0000000000..5aa62afb78
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/NextStatus.html
@@ -0,0 +1,3 @@
+<hr/>
+<p class="%messageClasses%">%time% - %message%</p>
+<div id="insert"></div>
diff --git a/comm/mail/components/im/messages/bubbles/Status.html b/comm/mail/components/im/messages/bubbles/Status.html
new file mode 100644
index 0000000000..5e5c927b47
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Status.html
@@ -0,0 +1,4 @@
+<div class="bubble %messageClasses%">
+<p class="%messageClasses%">%time% - %message%</p>
+<div id="insert"></div>
+</div>
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Green.css b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Green.css
new file mode 100644
index 0000000000..456b4054ed
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Green.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Green_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Green_Alternating.css
new file mode 100644
index 0000000000..8b67d64b38
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Green_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_120_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Pink.css b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Pink.css
new file mode 100644
index 0000000000..82c84545e9
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Pink.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_320.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Pink_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Pink_Alternating.css
new file mode 100644
index 0000000000..813af66880
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Pink_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_320_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Red.css b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Red.css
new file mode 100644
index 0000000000..77e5082b15
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Red.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_0.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Red_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Red_Alternating.css
new file mode 100644
index 0000000000..9e91c0c21d
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Blue_-_Red_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_0_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Green_-_Blue.css b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Blue.css
new file mode 100644
index 0000000000..336e241aea
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Blue.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Green_-_Blue_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Blue_Alternating.css
new file mode 100644
index 0000000000..1f9ab284e3
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Blue_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_240_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Green_-_Purple.css b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Purple.css
new file mode 100644
index 0000000000..90a2fcb51d
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Purple.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_270.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Green_-_Purple_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Purple_Alternating.css
new file mode 100644
index 0000000000..a3b835b49b
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Purple_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_270_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Green_-_Red.css b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Red.css
new file mode 100644
index 0000000000..30186fa0cd
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Red.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_0.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Green_-_Red_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Red_Alternating.css
new file mode 100644
index 0000000000..ba999760b9
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Green_-_Red_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_0_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Blue.css b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Blue.css
new file mode 100644
index 0000000000..f2b1f89b62
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Blue.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 20%, 97%);
+ border-color: hsl(240, 20%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 20%, 75%);
+ background-color: hsl(240, 20%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_grey.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Blue_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Blue_Alternating.css
new file mode 100644
index 0000000000..f1c10ff4a4
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Blue_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 20%, 97%);
+ border-color: hsl(240, 20%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 20%, 75%);
+ background-color: hsl(240, 20%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_grey.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_240_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Pink.css b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Pink.css
new file mode 100644
index 0000000000..84a8b04754
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Pink.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 20%, 97%);
+ border-color: hsl(240, 20%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 20%, 75%);
+ background-color: hsl(240, 20%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_grey.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_320.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Pink_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Pink_Alternating.css
new file mode 100644
index 0000000000..974e7b1698
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Pink_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 20%, 97%);
+ border-color: hsl(240, 20%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 20%, 75%);
+ background-color: hsl(240, 20%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_grey.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_320_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Purple.css b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Purple.css
new file mode 100644
index 0000000000..7051e00d86
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Purple.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 20%, 97%);
+ border-color: hsl(240, 20%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 20%, 75%);
+ background-color: hsl(240, 20%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_grey.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_270.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Purple_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Purple_Alternating.css
new file mode 100644
index 0000000000..601158153c
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Purple_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 20%, 97%);
+ border-color: hsl(240, 20%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 20%, 75%);
+ background-color: hsl(240, 20%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_grey.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_270_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Red.css b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Red.css
new file mode 100644
index 0000000000..81eaacf886
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Red.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 20%, 97%);
+ border-color: hsl(240, 20%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 20%, 75%);
+ background-color: hsl(240, 20%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_grey.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_0.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Red_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Red_Alternating.css
new file mode 100644
index 0000000000..7c6c5ae5ef
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Grey_-_Red_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(240, 20%, 97%);
+ border-color: hsl(240, 20%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(240, 20%, 75%);
+ background-color: hsl(240, 20%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_grey.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_0_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Blue.css b/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Blue.css
new file mode 100644
index 0000000000..70568ca0d5
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Blue.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_320.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Blue_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Blue_Alternating.css
new file mode 100644
index 0000000000..605b051393
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Blue_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_320.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_240_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Purple.css b/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Purple.css
new file mode 100644
index 0000000000..f04b8bd51d
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Purple.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_320.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_270.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Purple_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Purple_Alternating.css
new file mode 100644
index 0000000000..eb814bdcd3
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Pink_-_Purple_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_320.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_270_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Green.css b/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Green.css
new file mode 100644
index 0000000000..3122ad8df3
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Green.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_270.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Green_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Green_Alternating.css
new file mode 100644
index 0000000000..dfd40e6335
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Green_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_270.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_120_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Pink.css b/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Pink.css
new file mode 100644
index 0000000000..beea02943e
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Pink.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_270.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_320.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Pink_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Pink_Alternating.css
new file mode 100644
index 0000000000..869ee36eb8
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Purple_-_Pink_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(270, 100%, 97%);
+ border-color: hsl(270, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(270, 100%, 75%);
+ background-color: hsl(270, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_270.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(320, 100%, 97%);
+ border-color: hsl(320, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(320, 100%, 75%);
+ background-color: hsl(320, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_320_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Red_-_Blue.css b/comm/mail/components/im/messages/bubbles/Variants/Red_-_Blue.css
new file mode 100644
index 0000000000..2fbe69c40b
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Red_-_Blue.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_0.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_240.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Red_-_Blue_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Red_-_Blue_Alternating.css
new file mode 100644
index 0000000000..e0337a8d7f
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Red_-_Blue_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_0.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(240, 100%, 97%);
+ border-color: hsl(240, 100%, 80%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(240, 100%, 75%);
+ background-color: hsl(240, 100%, 94%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_240_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Red_-_Green.css b/comm/mail/components/im/messages/bubbles/Variants/Red_-_Green.css
new file mode 100644
index 0000000000..cae44aa14a
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Red_-_Green.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_0.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.incoming > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_120.png') no-repeat center left;
+}
diff --git a/comm/mail/components/im/messages/bubbles/Variants/Red_-_Green_Alternating.css b/comm/mail/components/im/messages/bubbles/Variants/Red_-_Green_Alternating.css
new file mode 100644
index 0000000000..0cbe20430a
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/Variants/Red_-_Green_Alternating.css
@@ -0,0 +1,36 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+.bubble.outgoing {
+ background-color: hsl(0, 100%, 97%);
+ border-color: hsl(0, 100%, 80%);
+}
+
+.outgoing > .indicator > .pseudo {
+ color: hsl(0, 100%, 75%);
+ background-color: hsl(0, 100%, 94%);
+}
+
+.outgoing > .indicator {
+ margin-left: -17px;
+ padding-left: 32px;
+ background: url('../Bitmaps/indicator_0.png') no-repeat center left;
+}
+
+
+.bubble.incoming {
+ background-color: hsl(120, 100%, 97%);
+ border-color: hsl(120, 100%, 70%);
+}
+
+.incoming > .indicator > .pseudo {
+ color: hsl(120, 100%, 45%);
+ background-color: hsl(120, 100%, 92%);
+}
+
+.incoming > .indicator {
+ margin-right: -19px;
+ padding-right: 34px;
+ background: url('../Bitmaps/indicator_120_alt.png') no-repeat center right;
+}
diff --git a/comm/mail/components/im/messages/bubbles/inline.js b/comm/mail/components/im/messages/bubbles/inline.js
new file mode 100644
index 0000000000..11bdec3f29
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/inline.js
@@ -0,0 +1,330 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+// See chat/content/conversation-browser.js _exposeMethodsToContent
+/* globals convScrollEnabled, scrollToElement */
+
+/* [pseudo_color, pseudo_background, bubble_borders] */
+const elements_lightness = [
+ [75, 94, 80],
+ [75, 94, 80],
+ [70, 93, 75],
+ [65, 92, 70],
+ [55, 90, 65],
+ [48, 90, 60],
+ [44, 86, 50],
+ [44, 88, 60],
+ [45, 88, 70],
+ [45, 90, 70],
+ [45, 92, 70],
+ [45, 92, 70],
+ [45, 92, 70],
+ [45, 92, 70],
+ [45, 92, 70],
+ [45, 92, 70],
+ [45, 92, 70],
+ [45, 92, 70],
+ [45, 92, 70],
+ [60, 92, 70],
+ [70, 93, 75],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+ [75, 94, 80],
+];
+
+const bubble_background = "hsl(#, 100%, 97%)";
+const bubble_borders = "hsl(#, 100%, #%)";
+const pseudo_color = "hsl(#, 100%, #%)";
+const pseudo_background = "hsl(#, 100%, #%)";
+
+var alternating = null;
+
+function setColors(target) {
+ var senderColor = target.getAttribute("data-senderColor");
+
+ if (!senderColor) {
+ return;
+ }
+
+ var regexp =
+ /color:\s*hsl\(\s*(\d{1,3})\s*,\s*\d{1,3}\%\s*,\s*\d{1,3}\%\s*\)/;
+ var parsed = regexp.exec(senderColor);
+
+ if (!parsed) {
+ return;
+ }
+
+ var senderHue = (Math.round(parsed[1] / 10) * 10) % 360;
+ var lightness = elements_lightness[senderHue / 10];
+
+ target.style.backgroundColor = bubble_background.replace("#", senderHue);
+ target.style.borderColor = bubble_borders
+ .replace("#", senderHue)
+ .replace("#", lightness[2]);
+
+ var pseudo = target.getElementsByClassName("pseudo")[0];
+ pseudo.style.color = pseudo_color
+ .replace("#", senderHue)
+ .replace("#", lightness[0]);
+ pseudo.style.backgroundColor = pseudo_background
+ .replace("#", senderHue)
+ .replace("#", lightness[1]);
+
+ var div_indicator = target.getElementsByClassName("indicator")[0];
+ var imageURL = "url('Bitmaps/indicator_" + senderHue;
+ if (target.classList.contains("incoming")) {
+ // getComputedStyle is prohibitively expensive, and we need it only to
+ // know if we are using an alternating variant, so we cache the result.
+ if (alternating === null) {
+ alternating = document.defaultView
+ .getComputedStyle(div_indicator)
+ .backgroundImage.endsWith('_alt.png")')
+ ? "_alt"
+ : "";
+ }
+ imageURL += alternating;
+ }
+ div_indicator.style.backgroundImage = imageURL + ".png')";
+}
+
+function prettyPrintTime(aValue, aNoSeconds) {
+ if (aValue < 60 && aNoSeconds) {
+ return "";
+ }
+
+ if (aNoSeconds) {
+ aValue -= aValue % 60;
+ }
+
+ let valuesAndUnits = window.convertTimeUnits(aValue);
+ if (!valuesAndUnits[2]) {
+ valuesAndUnits.splice(2, 2);
+ }
+ return valuesAndUnits.join(" ");
+}
+
+// The "shadow" constant is the minimum acceptable margin-bottom for a bubble
+// with a shadow, and the minimum spacing between the bubbles of two messages
+// arriving in the same second. It should match the value of margin-bottom and
+// box-shadow-bottom for the "bubble" class.
+const shadow = 3;
+const coef = 3;
+const timebeforetextdisplay = 5 * 60;
+const kRulerMarginTop = 11;
+
+const kMsPerMinute = 60 * 1000;
+const kMsPerHour = 60 * kMsPerMinute;
+const kMsPerDay = 24 * kMsPerHour;
+
+function computeSpace(aInterval) {
+ return Math.round(coef * Math.log(aInterval + 1));
+}
+
+var lastMessageTimeout;
+var lastMessageTimeoutTime = -1;
+
+/* This function takes care of updating the amount of whitespace
+ * between the last message and the bottom of the conversation area.
+ * When the last message is more than timebeforetextdisplay old, we display
+ * the time in text. To avoid blinking Mac scrollbar and visual distractions
+ * for some very sensitive users, we update the whitespace only when a new
+ * message is displayed or when the user switches between tabs. While the
+ * conversation is visible, this function is called by timers, but we will
+ * only update the time displayed in text (this behavior is obtained by
+ * setting the aUpdateTextOnly parameter to true; otherwise it is omitted).
+ */
+function handleLastMessage(aUpdateTextOnly) {
+ if (window.messageInsertPending) {
+ return;
+ }
+
+ var intervalInMs = Date.now() - lastMsgTime * 1000;
+ var interval = Math.round(intervalInMs / 1000);
+ var p = document.getElementById("lastMessage");
+ var margin;
+ if (!aUpdateTextOnly) {
+ // Impose a minimum to ensure the last bubble doesn't touch the editbox.
+ margin = computeSpace(Math.max(intervalInMs, 5000) / 1000);
+ }
+ var text = "";
+ if (interval >= timebeforetextdisplay) {
+ if (!aUpdateTextOnly) {
+ p.style.lineHeight = margin + shadow + "px";
+ }
+ p.setAttribute("class", "interval");
+ text = prettyPrintTime(interval, true);
+ margin = 0;
+ }
+ p.textContent = text;
+ if (!aUpdateTextOnly) {
+ p.style.marginTop = margin - shadow + "px";
+ if (convScrollEnabled()) {
+ scrollToElement(p);
+ }
+ }
+
+ var next = timebeforetextdisplay * 1000 - intervalInMs;
+ if (next <= 0) {
+ if (intervalInMs > kMsPerDay) {
+ next = kMsPerHour - (intervalInMs % kMsPerHour);
+ } else {
+ next = kMsPerMinute - (intervalInMs % kMsPerMinute);
+ }
+ aUpdateTextOnly = true;
+ }
+
+ // The setTimeout callbacks are frequently called a few ms early,
+ // but our code prefers being called a little late, so add 20ms.
+ lastMessageTimeoutTime = next + 20;
+ lastMessageTimeout = setTimeout(
+ handleLastMessage,
+ lastMessageTimeoutTime,
+ aUpdateTextOnly
+ );
+}
+
+var lastMsgTime = 0;
+function updateLastMsgTime(aMsgTime) {
+ if (aMsgTime > lastMsgTime) {
+ lastMsgTime = aMsgTime;
+ }
+
+ if (lastMsgTime && lastMessageTimeoutTime != 0 && !document.hidden) {
+ clearTimeout(lastMessageTimeout);
+ setTimeout(handleLastMessage, 0);
+ lastMessageTimeoutTime = 0;
+ }
+}
+
+function visibilityChanged() {
+ if (document.hidden) {
+ clearTimeout(lastMessageTimeout);
+ lastMessageTimeoutTime = -1;
+ } else if (lastMsgTime) {
+ handleLastMessage();
+ }
+}
+
+function checkNewText(target) {
+ var nicks = target.getElementsByClassName("ib-nick");
+ for (var i = 0; i < nicks.length; ++i) {
+ var nick = nicks[i];
+ if (nick.hasAttribute("data-left")) {
+ continue;
+ }
+ var hue = nick.getAttribute("data-nickColor");
+ var senderHue = (Math.round(hue / 10) * 10) % 360;
+ var lightness = elements_lightness[senderHue / 10];
+ nick.style.backgroundColor = pseudo_background
+ .replace("#", senderHue)
+ .replace("#", lightness[1]);
+ nick.style.color = pseudo_color
+ .replace("#", senderHue)
+ .replace("#", lightness[0]);
+ nick.style.borderColor = bubble_borders
+ .replace("#", senderHue)
+ .replace("#", lightness[2]);
+ }
+
+ var msgTime = null;
+ if (target._originalMsg) {
+ msgTime = target._originalMsg.time;
+ }
+ if (target.tagName == "DIV" && target.classList.contains("bubble")) {
+ setColors(target);
+
+ var prev = target.previousElementSibling;
+ var shouldSetUnreadRuler = prev && prev.id && prev.id == "unread-ruler";
+ var shouldSetSessionRuler =
+ prev && prev.className && prev.className == "sessionstart-ruler";
+ // We need an extra pixel of margin at the top to make the margins appear
+ // to be of equal size, since the preceding bubble will have a shadow.
+ var rulerMarginBottom = kRulerMarginTop - 1;
+
+ if (lastMsgTime && msgTime >= lastMsgTime) {
+ var interval = msgTime - lastMsgTime;
+ var margin = computeSpace(interval);
+ let isTimetext = interval >= timebeforetextdisplay;
+ if (isTimetext) {
+ let p = document.createElement("p");
+ p.className = "interval";
+ if (shouldSetSessionRuler) {
+ // Hide the hr and style the time text accordingly instead.
+ prev.classList.remove("sessionstart-ruler");
+ prev.style.border = "none";
+ p.classList.add("sessionstart-ruler");
+ margin += 6;
+ prev = p;
+ }
+ p.style.lineHeight = margin + shadow + "px";
+ p.style.marginTop = -shadow + "px";
+ p.textContent = prettyPrintTime(interval);
+ target.parentNode.insertBefore(p, target);
+ margin = 0;
+ }
+ target.style.marginTop = margin + "px";
+ if (shouldSetUnreadRuler || shouldSetSessionRuler) {
+ if (margin > rulerMarginBottom) {
+ // Set the unread ruler margin so it is constant after margin collapse.
+ // See https://developer.mozilla.org/en/CSS/margin_collapsing
+ rulerMarginBottom -= margin;
+ }
+ if (isTimetext && shouldSetUnreadRuler) {
+ // If a text display follows, use the minimum bubble margin after the
+ // ruler, taking account of the absence of a shadow on the ruler.
+ rulerMarginBottom = shadow - 1;
+ }
+ }
+ }
+ if (shouldSetUnreadRuler || shouldSetSessionRuler) {
+ prev.style.marginBottom = rulerMarginBottom + "px";
+ prev.style.marginTop = kRulerMarginTop + "px";
+ }
+ } else if (target.tagName == "P" && target.className == "event") {
+ let parent = target.parentNode;
+ // We need to start a group with this element if there are at least 4
+ // system messages and they aren't already grouped.
+ if (!parent?.grouped && parent?.querySelector("p.event:nth-of-type(4)")) {
+ let p = document.createElement("p");
+ p.className = "eventToggle";
+ p.addEventListener("click", event =>
+ event.target.parentNode.classList.toggle("hide-children")
+ );
+ parent.insertBefore(p, parent.querySelector("p.event:nth-of-type(2)"));
+ parent.classList.add("hide-children");
+ parent.grouped = true;
+ }
+ }
+
+ if (msgTime) {
+ updateLastMsgTime(msgTime);
+ }
+}
+
+new MutationObserver(function (aMutations) {
+ for (let mutation of aMutations) {
+ for (let node of mutation.addedNodes) {
+ if (node instanceof HTMLElement) {
+ checkNewText(node);
+ }
+ }
+ }
+}).observe(document.getElementById("ibcontent"), {
+ childList: true,
+ subtree: true,
+});
+
+document.addEventListener("visibilitychange", visibilityChanged);
diff --git a/comm/mail/components/im/messages/bubbles/main.css b/comm/mail/components/im/messages/bubbles/main.css
new file mode 100644
index 0000000000..84e8c7b8d6
--- /dev/null
+++ b/comm/mail/components/im/messages/bubbles/main.css
@@ -0,0 +1,210 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+body {
+ margin: 0;
+ padding: 0;
+ background: -moz-linear-gradient(top, -moz-dialog, -moz-default-background-color) fixed;
+ color: #000;
+}
+
+p {
+ font-family: sans-serif;
+ margin: 0;
+ padding: 0;
+}
+
+.bubble {
+ margin: 20px 20px 3px;
+ padding: 0;
+ border-width: 2px;
+ border-style: solid;
+ border-radius: 10px;
+ box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 3px;
+}
+
+#ibcontent:not(.log) > #Chat > .bubble:not(.context,.event) {
+ -moz-animation-duration: 0.5s;
+ -moz-animation-name: fadein;
+ -moz-animation-iteration-count: 1;
+}
+
+@-moz-keyframes fadein {
+ from {
+ opacity: 0;
+ }
+
+ to {
+ opacity: 1.0;
+ }
+}
+
+.bubble.context:not(:hover) {
+ filter: saturate(40%);
+}
+
+.indicator {
+ margin: 0;
+ padding: 9px 15px 10px 15px;
+}
+
+.bubble.event {
+ padding: 4px 15px 4px 15px;
+ background-color: hsl(0, 0%, 99%);
+ border-color: hsl(0, 0%, 85%);
+ box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 3px;
+}
+
+.pseudo {
+ display: inline-block;
+ font-size: smaller;
+ font-weight: bold;
+ margin: -9px 0px 3px -15px;
+ padding: 0px 15px 1px 15px;
+ /* border-top-left-radius = (border-radius - border-width) of div.bubble,
+ see bug 1775 for an explanation */
+ border-top-left-radius: 8px;
+ border-bottom-right-radius: 10px;
+}
+
+.pseudo > .time {
+ display: none;
+}
+
+.bubble:hover > .indicator > .pseudo > .time {
+ display: inline;
+}
+
+.bubble > .indicator > hr,
+.bubble > hr {
+ margin: 3px 0px 1px 0px;
+ height: 2px;
+ border-style: none;
+ border-top: 1px solid rgba(0, 0, 0, 0.07);
+ border-bottom: 1px solid rgba(255, 255, 255, 0.5);
+}
+
+.interval, #lastMessage {
+ text-align: center;
+ color: hsl(0, 0%, 60%);
+}
+
+#lastMessage {
+ line-height: 20px;
+}
+
+#ibcontent.log > #lastMessage {
+ display: none;
+}
+
+p.nick {
+ font-weight: bold;
+}
+
+p.action {
+ font-style: italic;
+}
+
+p.action::before {
+ content: "*** ";
+}
+
+p.event {
+ color: hsl(0, 0%, 60%);
+}
+
+p.event *:any-link:not(:hover) {
+ color: hsl(0, 0%, 60%);
+ text-decoration: none;
+}
+
+p.event *:any-link:hover {
+ color: hsl(0, 0%, 25%);
+}
+
+#Chat {
+ white-space: normal;
+}
+
+p *:any-link img {
+ margin-bottom: 1px;
+ border-bottom: solid 1px;
+}
+
+#unread-ruler {
+ border-top: 1px solid rgba(0, 0, 0, 0.16) !important;
+ border-bottom: 1px solid rgb(255,255,255) !important;
+}
+
+.sessionstart-ruler {
+ margin: 0;
+ width: 100%;
+ border: none;
+ min-height: 13px;
+ background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(0,0,0,0.18));
+}
+
+.ib-sender.message-encrypted {
+ position: relative;
+}
+
+.ib-sender.message-encrypted::after {
+ position: relative;
+ display: inline-block;
+ content: '';
+ width: 11px;
+ height: 10px;
+ background: url("chrome://messenger/skin/icons/connection-secure.svg") no-repeat center;
+ background-size: contain;
+ margin-inline-start: 4px;
+ -moz-context-properties: fill;
+ fill: currentColor;
+}
+
+/* used by javascript */
+.eventToggle {
+ cursor: pointer;
+ min-height: 20px;
+ margin-left: -24px;
+ padding-left: 24px;
+ background: url('Bitmaps/minus.png') no-repeat left top;
+ margin-bottom: -20px;
+ width: 0;
+}
+
+.eventToggle:hover {
+ background-image: url('Bitmaps/minus-hover.png');
+}
+
+.hide-children > .eventToggle {
+ width: 100%;
+ margin-bottom: -3px;
+ background-image: url('Bitmaps/plus.png');
+}
+
+.hide-children > .eventToggle:hover {
+ background-image: url('Bitmaps/plus-hover.png');
+}
+
+.hide-children > .eventToggle::after {
+ content: "\2026"; /* &hellip; */
+ color: hsl(0, 0%, 60%);
+}
+
+.hide-children > :is(p.event,hr):not(:first-of-type,:last-of-type,.no-collapse) {
+ display: none;
+}
+
+.ib-nick {
+ font-size: smaller;
+ border: 1px solid;
+ border-radius: 6px;
+ padding: 0 0.3em;
+}
+
+.ib-nick[left] {
+ color: hsl(0, 0%, 60%);
+ background-color: hsl(0, 0%, 99%);
+ border-color: hsl(0, 0%, 85%);
+}