PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.1.4
MxChat – AI Chatbot & Content Generation for WordPress v3.1.4
3.2.21 3.2.20 3.2.19 3.2.18 3.2.17 3.2.16 3.2.15 3.2.14 3.2.12 3.2.13 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 3.2.6 3.2.5 3.2.4 3.2.3 3.2.2 3.2.1 2.0.3 2.0.4 2.0.5 2.0.6 All 152 releases
← All changes | css/chat-style.css +20 -421 3.2.103.1.4 View file →
@@ -608,9 +608,8 @@
608 608 .questions-toggle-btn svg,
609 609 .questions-collapse-btn svg {
610 610 transition: transform 0.2s ease;
611 611 fill: none;
612 - stroke: #212121;
613 612 width: 25px;
614 613 height: 25px;
615 614 }
616 615
@@ -918,15 +917,8 @@
918 917 .send-button:hover {
919 918 opacity: 0.8;
920 919 }
921 920
922 -/* Stop state while a response is streaming: the send button becomes a Stop
923 - control in place — same chrome and position, swapped glyph. Themeable hook;
924 - the glyph's size/color are mirrored from the send icon at runtime. */
925 -.mxchat-chatbot .chat-container .input-container .send-button.mxchat-stop-mode {
926 - cursor: pointer;
927 -}
928 -
929 921 .mxchat-chatbot .spinner {
930 922 animation: rotate 2s linear infinite;
931 923 width: 20px;
932 924 height: 20px;
@@ -965,11 +957,9 @@
965 957 .chatbot-title-container {
966 958 display: flex;
967 959 align-items: center;
968 960 justify-content: space-between;
969 - gap: 10px;
970 - flex: 1 1 auto;
971 - min-width: 0;
961 + width: 100%;
972 962 }
973 963
974 964 .chatbot-title-group {
975 965 display: flex;
@@ -978,19 +968,13 @@
978 968 }
979 969
980 970 .chat-mode-indicator {
981 971 font-size: 12px;
982 - line-height: 1;
983 - margin-right: 0;
984 - padding: 4px 9px;
985 - border-radius: 999px;
986 - background: rgba(255, 255, 255, 0.18);
972 + margin-right: 8px;
973 + padding: 4px 8px;
974 + border-radius: 12px;
975 + background: rgba(255, 255, 255, 0.2);
987 976 color: #ffffff;
988 - display: inline-flex;
989 - align-items: center;
990 - height: 22px;
991 - white-space: nowrap;
992 - flex: 0 0 auto;
993 977 }
994 978
995 979 .floating-chatbot {
996 980 position: fixed;
@@ -1040,9 +1024,9 @@
1040 1024 display: none !important;
1041 1025 }
1042 1026
1043 1027 .chatbot-top-bar button.exit-chat:hover {
1044 - background: rgba(255, 255, 255, 0.12);
1028 + background: none;
1045 1029 }
1046 1030 .visible {
1047 1031 display: flex;
1048 1032 }
@@ -1066,13 +1050,8 @@
1066 1050 z-index: 100000;
1067 1051 display: flex;
1068 1052 }
1069 1053
1070 -.floating-chatbot-button:focus-visible {
1071 - outline: 3px solid #7873f5;
1072 - outline-offset: 3px;
1073 -}
1074 -
1075 1054 .floating-chatbot-button img {
1076 1055 max-width: 100%;
1077 1056 max-height: 100%;
1078 1057 width: auto;
@@ -1087,36 +1066,29 @@
1087 1066 background: transparent;
1088 1067 border: none;
1089 1068 opacity: 0.8;
1090 1069 padding: 0;
1091 - width: 32px;
1092 - height: 32px;
1093 - min-width: 32px;
1094 - flex: 0 0 auto;
1095 - border-radius: 6px;
1096 - transition: opacity 0.15s ease, background 0.15s ease;
1070 + min-width: 20px;
1097 1071 }
1098 1072
1099 1073 .mxchat-chatbot-wrapper .chatbot-top-bar {
1100 1074 cursor: pointer;
1101 1075 color: #fff;
1102 - padding: 8px 12px;
1103 - min-height: 48px;
1104 - gap: 8px;
1076 + padding: 10px;
1105 1077 border-top-left-radius: 10px;
1106 1078 border-top-right-radius: 10px;
1107 1079 display: flex;
1108 1080 justify-content: space-between;
1109 - align-items: center;
1081 + align-items: start;
1110 1082 }
1111 1083
1112 1084 .mxchat-chatbot-wrapper .chatbot-top-bar .chatbot-title {
1113 - font-size: 15px;
1114 - line-height: 1.2;
1115 - padding: 0;
1085 + font-size: 16px;
1086 + line-height: 25px;
1087 + padding: 10px;
1116 1088 margin: 0;
1117 1089 font-family: 'Plus Jakarta Sans', sans-serif;
1118 - font-weight: 600;
1090 + font-weight: bold;
1119 1091 }
1120 1092
1121 1093 .exit-chat {
1122 1094 border: none;
@@ -1121,25 +1093,22 @@
1121 1093 .exit-chat {
1122 1094 border: none;
1123 1095 background: transparent;
1124 1096 cursor: pointer;
1125 - display: inline-flex;
1097 + display: flex;
1126 1098 align-items: center;
1127 1099 justify-content: center;
1128 - padding: 0;
1100 + padding: 5px;
1129 1101 margin-left: auto;
1130 1102 opacity: 0.8;
1131 - width: 32px;
1132 - height: 32px;
1133 - min-width: 32px;
1134 - flex: 0 0 auto;
1103 + min-width: 20px;
1135 1104 }
1136 1105
1137 1106 .exit-chat svg {
1138 - width: 18px;
1139 - height: 18px;
1140 - fill: none;
1141 - stroke: currentColor;
1107 + fill: white;
1108 + width: 24px;
1109 + height: 24px;
1110 + transform: rotate(270deg);
1142 1111 }
1143 1112
1144 1113 .mxchat-chatbot-wrapper .chatbot-footer {
1145 1114 text-align: center;
@@ -1169,41 +1138,8 @@
1169 1138 text-decoration: underline;
1170 1139 }
1171 1140
1172 1141 /* ========================================
1173 - INIT LOADER (shown while chat initializes)
1174 - ======================================== */
1175 -.mxchat-init-loader {
1176 - display: flex;
1177 - align-items: center;
1178 - justify-content: center;
1179 - flex-grow: 1;
1180 - min-height: 0;
1181 - animation: fadeIn 0.3s ease-in-out;
1182 -}
1183 -
1184 -.mxchat-init-loader-dots {
1185 - display: flex;
1186 - gap: 8px;
1187 -}
1188 -
1189 -.mxchat-init-loader-dots .dot {
1190 - width: 8px;
1191 - height: 8px;
1192 - border-radius: 50%;
1193 - background-color: #888;
1194 - animation: mxchat-dot-bounce 1.4s ease-in-out infinite both;
1195 -}
1196 -
1197 -.mxchat-init-loader-dots .dot:nth-child(1) {
1198 - animation-delay: -0.32s;
1199 -}
1200 -
1201 -.mxchat-init-loader-dots .dot:nth-child(2) {
1202 - animation-delay: -0.16s;
1203 -}
1204 -
1205 -/* ========================================
1206 1142 THINKING DOTS ANIMATION
1207 1143 ======================================== */
1208 1144 .chat-box .bot-message.temporary-message .thinking-dots-container {
1209 1145 display: flex;
@@ -1614,9 +1550,8 @@
1614 1550
1615 1551 /* SVG styles - these are MISSING */
1616 1552 .mxchat-popular-questions .mxchat-popular-questions-container .questions-collapse-btn svg {
1617 1553 fill: none;
1618 - stroke: #212121;
1619 1554 transition: transform 0.2s ease;
1620 1555 width: 25px;
1621 1556 height: 25px;
1622 1557 }
@@ -1632,341 +1567,5 @@
1632 1567
1633 1568 /* Hide when actually collapsed */
1634 1569 .mxchat-popular-questions.collapsed .mxchat-popular-questions-container .questions-collapse-btn {
1635 1570 display: none;
1636 -}
1637 -
1638 -/* ============================================================
1639 - Header overflow menu — 3-dot kebab + dropdown (v3.2.9 / v3.2.10)
1640 - Lives in .chatbot-top-bar to the LEFT of .exit-chat. Visual treatment
1641 - mirrors .exit-chat: transparent, white-on-dark, 0.8 opacity, 5px pad.
1642 -
1643 - v3.2.10: explicit `order` rules pin the visual order
1644 - title (0) | kebab (1) | down-arrow (2)
1645 - so the down-arrow is always the rightmost icon regardless of source
1646 - order or which sibling has margin-left:auto.
1647 - ============================================================ */
1648 -.mxchat-chatbot-wrapper .chatbot-top-bar > .chatbot-title-container { order: 0; }
1649 -.mxchat-chatbot-wrapper .chatbot-top-bar > .mxchat-header-menu-wrap { order: 1; }
1650 -.mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat { order: 2; }
1651 -
1652 -.mxchat-header-menu-wrap {
1653 - position: relative;
1654 - display: inline-flex;
1655 - align-items: center;
1656 - margin-left: auto; /* push kebab + arrow group to the right edge */
1657 -}
1658 -.mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap ~ .exit-chat,
1659 -.mxchat-chatbot-wrapper .chatbot-top-bar .mxchat-header-menu-wrap + .exit-chat {
1660 - margin-left: 4px; /* even, snug gap between kebab and close */
1661 -}
1662 -.mxchat-chatbot-wrapper .chatbot-top-bar > .exit-chat:focus {
1663 - background: rgba(255, 255, 255, 0.12);
1664 - opacity: 1;
1665 - outline: none;
1666 -}
1667 -.mxchat-header-btn {
1668 - border: none;
1669 - background: transparent;
1670 - cursor: pointer;
1671 - display: inline-flex;
1672 - align-items: center;
1673 - justify-content: center;
1674 - padding: 0;
1675 - opacity: 0.8;
1676 - color: #fff;
1677 - transition: opacity 0.15s ease, background 0.15s ease;
1678 - border-radius: 6px;
1679 - line-height: 0;
1680 - width: 32px;
1681 - height: 32px;
1682 - min-width: 32px;
1683 - flex: 0 0 auto;
1684 -}
1685 -.mxchat-header-btn:hover,
1686 -.mxchat-header-btn:focus {
1687 - opacity: 1;
1688 - background: rgba(255, 255, 255, 0.12);
1689 - outline: none;
1690 -}
1691 -.mxchat-header-btn[aria-expanded="true"] {
1692 - opacity: 1;
1693 - background: rgba(255, 255, 255, 0.12);
1694 -}
1695 -.mxchat-menu-trigger svg {
1696 - width: 18px;
1697 - height: 18px;
1698 -}
1699 -
1700 -.mxchat-header-menu {
1701 - position: absolute;
1702 - top: calc(100% + 6px);
1703 - right: 0;
1704 - min-width: 220px;
1705 - background: var(--mxchat-menu-bg, #ffffff);
1706 - color: var(--mxchat-menu-fg, #1a1a1a);
1707 - border: 1px solid rgba(127, 127, 127, 0.20);
1708 - border-radius: 10px;
1709 - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 0 2px 6px rgba(0, 0, 0, 0.10);
1710 - padding: 4px;
1711 - z-index: 5;
1712 - opacity: 0;
1713 - transform: translateY(-4px);
1714 - pointer-events: none;
1715 - transition: opacity 0.12s ease, transform 0.12s ease;
1716 -}
1717 -.mxchat-header-menu.is-open {
1718 - opacity: 1;
1719 - transform: translateY(0);
1720 - pointer-events: auto;
1721 -}
1722 -.mxchat-header-menu[hidden] {
1723 - display: none;
1724 -}
1725 -.mxchat-menu-item {
1726 - display: flex;
1727 - align-items: center;
1728 - gap: 10px;
1729 - width: 100%;
1730 - padding: 8px 12px;
1731 - min-height: 40px;
1732 - border: none;
1733 - background: transparent;
1734 - color: inherit;
1735 - font-size: 14px;
1736 - line-height: 1.3;
1737 - text-align: left;
1738 - cursor: pointer;
1739 - border-radius: 6px;
1740 - transition: background 0.12s ease;
1741 - text-decoration: none;
1742 - box-sizing: border-box;
1743 -}
1744 -.mxchat-menu-item:hover,
1745 -.mxchat-menu-item:focus {
1746 - background: rgba(127, 127, 127, 0.18);
1747 - outline: none;
1748 -}
1749 -.mxchat-menu-item-icon {
1750 - display: inline-flex;
1751 - align-items: center;
1752 - justify-content: center;
1753 - width: 16px;
1754 - height: 16px;
1755 - color: inherit;
1756 - opacity: 0.85;
1757 - flex-shrink: 0;
1758 -}
1759 -.mxchat-menu-item-icon svg {
1760 - width: 16px;
1761 - height: 16px;
1762 - display: block;
1763 -}
1764 -.mxchat-menu-item-label {
1765 - flex: 1;
1766 - color: inherit;
1767 -}
1768 -
1769 -/* RTL — flip the dropdown anchor edge */
1770 -[dir="rtl"] .mxchat-header-menu,
1771 -.mxchat-chatbot-wrapper[dir="rtl"] .mxchat-header-menu {
1772 - right: auto;
1773 - left: 0;
1774 -}
1775 -
1776 -/* ============================================================================
1777 - Satisfaction rating (v3.2.6 — polished per plan-141a12)
1778 - Theme-adaptive via currentColor + inherit. Clean slate — old rules removed.
1779 - ========================================================================= */
1780 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-prompt,
1781 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-feedback,
1782 -.mxchat-chatbot .chat-container .chat-box .mxchat-rating-saved {
1783 - clear: both;
1784 - float: left;
1785 - max-width: 92%;
1786 - box-sizing: border-box;
1787 -}
1788 -
1789 -/* Theme-adaptive wrapper — .bot-message carries the user's custom bg/color via
1790 - inline style; the inner rating component supplies its own padding + layout. */
1791 -.mxchat-rating-bot-bubble {
1792 - padding: 0;
1793 - overflow: visible;
1794 -}
1795 -
1796 -.mxchat-rating-prompt {
1797 - display: flex;
1798 - flex-direction: column;
1799 - align-items: stretch;
1800 - gap: 10px;
1801 - padding: 10px 14px;
1802 - margin: 10px 0;
1803 - font-size: 14px;
1804 - color: inherit;
1805 -}
1806 -
1807 -.mxchat-rating-question {
1808 - color: inherit;
1809 - opacity: 0.85;
1810 - font-weight: 500;
1811 -}
1812 -
1813 -.mxchat-rating-actions {
1814 - display: flex;
1815 - align-items: center;
1816 - gap: 8px;
1817 -}
1818 -
1819 -.mxchat-rating-buttons {
1820 - display: inline-flex;
1821 - gap: 6px;
1822 -}
1823 -
1824 -.mxchat-rating-btn {
1825 - display: inline-flex;
1826 - align-items: center;
1827 - justify-content: center;
1828 - width: 32px;
1829 - height: 32px;
1830 - border-radius: 8px;
1831 - background: transparent;
1832 - border: none;
1833 - color: inherit;
1834 - opacity: 0.6;
1835 - cursor: pointer;
1836 - transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease, color 0.18s ease;
1837 - padding: 0;
1838 -}
1839 -
1840 -.mxchat-rating-btn:hover {
1841 - opacity: 1;
1842 - transform: scale(1.12);
1843 - background: rgba(255, 255, 255, 0.08);
1844 -}
1845 -
1846 -.mxchat-rating-btn:focus-visible {
1847 - opacity: 1;
1848 - outline: 2px solid currentColor;
1849 - outline-offset: 2px;
1850 -}
1851 -
1852 -.mxchat-rating-btn svg {
1853 - pointer-events: none;
1854 -}
1855 -
1856 -.mxchat-rating-dismiss {
1857 - width: 24px;
1858 - height: 24px;
1859 - border-radius: 6px;
1860 - background: transparent;
1861 - border: none;
1862 - color: inherit;
1863 - opacity: 0.45;
1864 - cursor: pointer;
1865 - font-size: 18px;
1866 - line-height: 1;
1867 - transition: opacity 0.18s ease, background-color 0.18s ease;
1868 -}
1869 -
1870 -.mxchat-rating-dismiss:hover {
1871 - opacity: 0.9;
1872 - background: rgba(255, 255, 255, 0.08);
1873 -}
1874 -
1875 -/* Feedback panel that replaces the prompt after a rating is clicked */
1876 -.mxchat-rating-feedback {
1877 - padding: 12px 14px;
1878 - margin: 10px 0;
1879 - display: flex;
1880 - flex-direction: column;
1881 - gap: 10px;
1882 - color: inherit;
1883 - animation: mxchat-rating-fade-in 0.22s ease;
1884 -}
1885 -
1886 -.mxchat-rating-feedback-label {
1887 - font-size: 13px;
1888 - opacity: 0.85;
1889 - font-weight: 500;
1890 -}
1891 -
1892 -.mxchat-rating-feedback-input {
1893 - width: 100%;
1894 - box-sizing: border-box;
1895 - padding: 8px 10px;
1896 - border: 1px solid rgba(255, 255, 255, 0.25);
1897 - border-radius: 8px;
1898 - font-size: 14px;
1899 - font-family: inherit;
1900 - resize: vertical;
1901 - background: rgba(255, 255, 255, 0.08);
1902 - color: inherit;
1903 -}
1904 -
1905 -.mxchat-rating-feedback-input:focus {
1906 - outline: none;
1907 - border-color: rgba(255, 255, 255, 0.45);
1908 - background: rgba(255, 255, 255, 0.15);
1909 -}
1910 -
1911 -.mxchat-rating-feedback-actions {
1912 - display: flex;
1913 - justify-content: flex-end;
1914 - gap: 8px;
1915 -}
1916 -
1917 -.mxchat-rating-skip,
1918 -.mxchat-rating-submit {
1919 - padding: 6px 14px;
1920 - border-radius: 8px;
1921 - font-size: 13px;
1922 - font-weight: 500;
1923 - cursor: pointer;
1924 - border: none;
1925 - transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
1926 -}
1927 -
1928 -.mxchat-rating-skip {
1929 - background: transparent;
1930 - color: inherit;
1931 - opacity: 0.6;
1932 -}
1933 -
1934 -.mxchat-rating-skip:hover {
1935 - opacity: 1;
1936 - background: rgba(255, 255, 255, 0.08);
1937 -}
1938 -
1939 -.mxchat-rating-submit {
1940 - /* Filled "primary" pill: fill = the bot font color, label = the bubble bg.
1941 - syncRatingBubbleColors() in chat-script.js paints the real bot colors
1942 - straight onto this button (inline) from the bubble's COMPUTED style, so
1943 - it adapts to both the inline color pickers AND the mxchat-theme AI
1944 - customizer. These var()/literal values are the no-JS safety net — the
1945 - literal fallbacks (#212121 fill / #ffffff label) stay legible on their
1946 - own (no white-on-white). Longhand background-color (not the `background`
1947 - shorthand) because Chromium resolves inherited custom properties
1948 - unreliably inside the shorthand. Do NOT use currentColor here — setting
1949 - `color` would re-poison the background to the same value. */
1950 - background-color: var(--mxchat-bot-fg, #212121);
1951 - color: var(--mxchat-bot-bg, #ffffff);
1952 -}
1953 -
1954 -.mxchat-rating-submit:hover {
1955 - transform: translateY(-1px);
1956 - opacity: 0.9;
1957 -}
1958 -
1959 -.mxchat-rating-saved {
1960 - padding: 10px 14px;
1961 - margin: 10px 0;
1962 - font-size: 13px;
1963 - font-weight: 500;
1964 - text-align: center;
1965 - color: inherit;
1966 - animation: mxchat-rating-fade-in 0.22s ease;
1967 -}
1968 -
1969 -@keyframes mxchat-rating-fade-in {
1970 - from { opacity: 0; transform: translateY(4px); }
1971 - to { opacity: 1; transform: translateY(0); }
1972 1571 }