PluginProbe
MxChat – AI Chatbot & Content Generation for WordPress / 3.1.8
MxChat – AI Chatbot & Content Generation for WordPress v3.1.8
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/knowledge-style.css +27 -237 3.2.193.1.8 View file →
@@ -266,14 +266,8 @@
266 266 border: 1px solid #e5e5e5;
267 267 text-align: center;
268 268 }
269 269
270 -/* YouTube import: multi-line radio/description stack reads left-aligned,
271 - unlike the single-row URL forms the centered default was made for. */
272 -#mxchat-youtube-input-area {
273 - text-align: left;
274 -}
275 -
276 270 /* PDF Upload Area */
277 271 #mxchat-pdf-upload-area input[type="file"] {
278 272 margin-bottom: 12px;
279 273 }
@@ -1280,36 +1274,20 @@
1280 1274
1281 1275 .mxchat-kb-modal-content {
1282 1276 position: relative;
1283 1277 background-color: #fff;
1284 - margin: 24px auto;
1278 + margin: 50px auto;
1285 1279 padding: 0;
1286 1280 border-radius: 8px;
1287 1281 box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
1288 1282 width: 90%;
1289 1283 max-width: 1000px;
1290 - /* The box is the ONLY place height is constrained; children flex within it.
1291 - dvh tracks the real visible viewport on mobile (vh line = older-browser fallback). */
1292 1284 max-height: 85vh;
1293 - max-height: min(85vh, calc(100dvh - 48px));
1294 1285 display: flex;
1295 1286 flex-direction: column;
1296 1287 animation: mxchat-kb-modal-appear 0.3s ease-out;
1297 1288 }
1298 1289
1299 -/* Fixed chrome rows never grow or shrink — the results list is the only scroller. */
1300 -.mxchat-kb-modal-header,
1301 -.mxchat-kb-modal-filters,
1302 -.mxchat-kb-selection-header,
1303 -.mxchat-kb-modal-footer {
1304 - flex: 0 0 auto;
1305 -}
1306 -
1307 -/* The footer holds the primary actions — it can never be squeezed out of the box. */
1308 -.mxchat-kb-modal-footer {
1309 - flex-shrink: 0;
1310 -}
1311 -
1312 1290 @keyframes mxchat-kb-modal-appear {
1313 1291 from {
1314 1292 opacity: 0;
1315 1293 transform: translateY(-30px);
@@ -1423,15 +1401,12 @@
1423 1401 border-left: 3px solid #1e88e5;
1424 1402 }
1425 1403
1426 1404 .mxchat-kb-content-selection {
1427 - /* Flexible middle region: header row stays put, the list below scrolls.
1428 - min-height: 0 is load-bearing — without it flex refuses to shrink this
1429 - column and the footer gets pushed out of the box (the mobile bug). */
1430 - flex: 1 1 auto;
1431 - min-height: 0;
1432 - display: flex;
1433 - flex-direction: column;
1405 + overflow-y: auto;
1406 + flex: 1;
1407 + min-height: 300px;
1408 + max-height: calc(85vh - 200px);
1434 1409 }
1435 1410
1436 1411 .mxchat-kb-selection-header {
1437 1412 display: flex;
@@ -1459,12 +1434,8 @@
1459 1434 }
1460 1435
1461 1436 .mxchat-kb-content-list {
1462 1437 padding: 0;
1463 - /* The one and only scroller inside the modal. */
1464 - flex: 1 1 auto;
1465 - min-height: 0;
1466 - overflow-y: auto;
1467 1438 }
1468 1439
1469 1440 .mxchat-kb-content-item {
1470 1441 display: flex;
@@ -1493,23 +1464,19 @@
1493 1464 align-items: flex-start;
1494 1465 padding-top: 3px;
1495 1466 }
1496 1467
1497 -/* Native control, brand-tinted — identical to the "select all" checkbox above the
1498 - list, which carries no custom styling at all and renders correctly.
1499 - Do NOT re-add width / height / border / border-radius / background here. WP admin
1500 - draws the tick as a 21px dashicon positioned with negative margins for its OWN
1501 - default box, so forcing a custom box makes the tick overflow it. That mismatch
1502 - shipped for a long time but was invisible while the tick was white-on-white. */
1503 1468 .mxchat-kb-content-checkbox input[type="checkbox"] {
1469 + width: 18px;
1470 + height: 18px;
1471 + border: 1px solid #8c8f94;
1472 + border-radius: 3px;
1473 + background: #fff;
1504 1474 margin: 0;
1505 - cursor: pointer;
1506 - accent-color: var(--mxch-primary, #7873f5);
1507 1475 }
1508 1476
1509 -.mxchat-kb-content-checkbox input[type="checkbox"]:focus-visible {
1510 - outline: 2px solid var(--mxch-primary, #7873f5);
1511 - outline-offset: 2px;
1477 +.mxchat-kb-content-checkbox input[type="checkbox"]:checked {
1478 + border-color: #7873f5;
1512 1479 }
1513 1480
1514 1481 .mxchat-kb-content-details {
1515 1482 flex: 1;
@@ -1881,70 +1848,38 @@
1881 1848
1882 1849 /* Modal responsive adjustments */
1883 1850 .mxchat-kb-modal-content {
1884 1851 width: 95%;
1885 - /* dvh = real visible viewport (mobile vh includes the URL-bar region);
1886 - vh line is the older-browser fallback. */
1887 - max-height: calc(100vh - 24px);
1888 - max-height: calc(100dvh - 24px);
1889 - margin: 12px auto;
1890 - /* Last-resort scroll: on extreme-short viewports (landscape phones)
1891 - the compacted chrome + the list's floor can still exceed the box —
1892 - scroll inside the box rather than clipping the footer. */
1893 - overflow-y: auto;
1852 + max-height: 90vh;
1853 + margin: 20px auto;
1894 1854 }
1895 -
1896 - /* Compact the fixed chrome on mobile — stacked filters + a stacked footer
1897 - are tall, and every saved pixel goes to the content list. */
1898 - .mxchat-kb-modal-header {
1899 - padding: 12px 16px;
1900 - }
1901 -
1902 - .mxchat-kb-modal-header h3 {
1903 - font-size: 16px;
1904 - }
1905 -
1855 +
1906 1856 .mxchat-kb-modal-filters {
1907 1857 flex-direction: column;
1908 1858 align-items: stretch;
1909 - padding: 10px 16px;
1910 - gap: 8px;
1911 1859 }
1912 -
1860 +
1913 1861 .mxchat-kb-search-group {
1914 1862 max-width: none;
1915 1863 }
1916 -
1864 +
1917 1865 .mxchat-kb-filter-group {
1918 1866 flex-direction: column;
1919 - gap: 8px;
1920 1867 }
1921 -
1922 - .mxchat-kb-filter-group select {
1923 - padding: 6px 30px 6px 10px;
1868 +
1869 + .mxchat-kb-content-selection {
1870 + max-height: calc(90vh - 250px);
1924 1871 }
1925 -
1872 +
1926 1873 .mxchat-kb-selection-header {
1927 1874 flex-direction: column;
1928 1875 align-items: flex-start;
1929 - gap: 6px;
1930 - padding: 10px 16px;
1876 + gap: 10px;
1931 1877 }
1932 -
1933 - /* Guarantee a usable slice of visible rows — reachable buttons are no
1934 - help if there is nothing to select above them. */
1935 - .mxchat-kb-content-list {
1936 - min-height: 96px;
1937 - }
1938 -
1939 - .mxchat-kb-content-item {
1940 - padding: 10px 16px;
1941 - }
1942 -
1878 +
1943 1879 .mxchat-kb-modal-footer {
1944 1880 flex-direction: column;
1945 - gap: 8px;
1946 - padding: 10px 16px;
1881 + gap: 10px;
1947 1882 }
1948 1883
1949 1884 .mxchat-kb-modal-footer .mxchat-kb-pagination {
1950 1885 width: 100%;
@@ -3814,18 +3749,13 @@
3814 3749 }
3815 3750
3816 3751 .mxchat-kb-edit-modal-content {
3817 3752 max-width: 760px;
3818 - /* Same viewport-safe cap as the content-selector modal (vh = fallback). */
3819 3753 max-height: 90vh;
3820 - max-height: min(90vh, calc(100dvh - 24px));
3821 3754 }
3822 3755
3823 3756 .mxchat-kb-edit-body {
3824 - flex: 1 1 auto;
3825 - /* min-height: 0 lets the body shrink inside the capped modal box so the
3826 - footer (Save/Cancel) can never be pushed below the viewport. */
3827 - min-height: 0;
3757 + flex: 1;
3828 3758 display: flex;
3829 3759 flex-direction: column;
3830 3760 padding: 20px;
3831 3761 overflow: hidden;
@@ -3878,10 +3808,8 @@
3878 3808 justify-content: space-between;
3879 3809 padding: 14px 20px;
3880 3810 border-top: 1px solid #e5e5e5;
3881 3811 gap: 12px;
3882 - /* Action row can never be squeezed out of the box. */
3883 - flex-shrink: 0;
3884 3812 }
3885 3813
3886 3814 .mxchat-kb-edit-notice {
3887 3815 flex: 1;
@@ -3895,45 +3823,8 @@
3895 3823 gap: 8px;
3896 3824 flex-shrink: 0;
3897 3825 }
3898 3826
3899 -/* ── Knowledge Inspector modal (plan-d8cb4b) ──────────────────────────
3900 - Read-only "View indexed content" viewer. Reuses the Testing tab's
3901 - match-card / chunk-detail components (admin-testing-tab.css, scoped under
3902 - .mxch-testing-results) so it looks native; this block only adds the modal
3903 - body scroll + the chunk-text container the Testing tab doesn't have. */
3904 -.mxchat-kb-inspect-body {
3905 - flex: 1 1 auto;
3906 - /* Same footer-pushout guard as the edit modal. */
3907 - min-height: 0;
3908 - display: flex;
3909 - flex-direction: column;
3910 - padding: 20px;
3911 - overflow-y: auto;
3912 - gap: 12px;
3913 -}
3914 -/* The modal body is the scroll container — let the inner results grow naturally
3915 - instead of the Testing tab's own 400px inner scroll (avoids a double scrollbar). */
3916 -.mxchat-kb-inspect-body .mxch-testing-results {
3917 - max-height: none;
3918 - overflow: visible;
3919 -}
3920 -.mxch-kb-inspect-chunk-text {
3921 - margin: 8px 0 0;
3922 - padding: 12px 14px;
3923 - background: #f8fafc;
3924 - border: 1px solid #e2e8f0;
3925 - border-radius: 6px;
3926 - max-height: 260px;
3927 - overflow-y: auto;
3928 - white-space: pre-wrap;
3929 - word-break: break-word;
3930 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
3931 - font-size: 13px;
3932 - line-height: 1.6;
3933 - color: var(--mxch-text-primary, #334155);
3934 -}
3935 -
3936 3827 .mxchat-kb-edit-save-spinner {
3937 3828 display: inline-flex;
3938 3829 align-items: center;
3939 3830 gap: 6px;
@@ -3943,10 +3834,9 @@
3943 3834 .mxchat-kb-edit-modal-content {
3944 3835 width: 96%;
3945 3836 max-width: 96%;
3946 3837 margin: 10px auto;
3947 - max-height: calc(100vh - 20px);
3948 - max-height: calc(100dvh - 20px);
3838 + max-height: 95vh;
3949 3839 }
3950 3840 .mxchat-kb-edit-body {
3951 3841 padding: 14px;
3952 3842 }
@@ -3964,105 +3854,5 @@
3964 3854 .mxchat-kb-edit-actions .mxch-btn {
3965 3855 flex: 1;
3966 3856 text-align: center;
3967 3857 }
3968 -}
3969 -/* ==========================================================================
3970 - Custom Meta-key discovery picker (plan-mxchat-20260709-fe8e4e)
3971 - Canon-token chip picker mirroring the ACF discovery UX for non-ACF meta.
3972 - ========================================================================== */
3973 -.mxchat-meta-scan-controls {
3974 - display: flex;
3975 - align-items: center;
3976 - flex-wrap: wrap;
3977 - gap: 12px;
3978 - margin-bottom: 12px;
3979 -}
3980 -#mxchat-scan-meta-btn {
3981 - display: inline-flex;
3982 - align-items: center;
3983 - gap: 8px;
3984 -}
3985 -.mxchat-meta-scan-internal {
3986 - display: inline-flex;
3987 - align-items: center;
3988 - gap: 6px;
3989 - font-size: 13px;
3990 - color: var(--mxch-text-secondary, #64748b);
3991 - cursor: pointer;
3992 -}
3993 -.mxchat-meta-scan-loading,
3994 -.mxchat-meta-scan-empty {
3995 - font-size: 13px;
3996 - color: var(--mxch-text-secondary, #64748b);
3997 - margin: 8px 0 0;
3998 -}
3999 -.mxchat-meta-chip-grid {
4000 - display: grid;
4001 - grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
4002 - gap: 10px;
4003 - margin-top: 12px;
4004 -}
4005 -.mxchat-meta-chip {
4006 - display: flex;
4007 - flex-direction: column;
4008 - align-items: flex-start;
4009 - gap: 4px;
4010 - text-align: left;
4011 - width: 100%;
4012 - padding: 10px 12px;
4013 - background: var(--mxch-card-bg, #fff);
4014 - border: 1px solid var(--mxch-card-border, #e2e8f0);
4015 - border-radius: var(--mxch-radius-md, 8px);
4016 - cursor: pointer;
4017 - transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
4018 -}
4019 -.mxchat-meta-chip:hover {
4020 - border-color: var(--mxch-primary, #7873f5);
4021 - box-shadow: 0 1px 4px rgba(120, 115, 245, 0.15);
4022 -}
4023 -.mxchat-meta-chip-main {
4024 - display: flex;
4025 - align-items: baseline;
4026 - flex-wrap: wrap;
4027 - gap: 8px;
4028 -}
4029 -.mxchat-meta-chip-name {
4030 - font-weight: 600;
4031 - color: var(--mxch-text-primary, #1a1a2e);
4032 - font-size: 13px;
4033 -}
4034 -.mxchat-meta-chip-key {
4035 - font-family: monospace;
4036 - font-size: 11px;
4037 - color: var(--mxch-text-muted, #94a3b8);
4038 - background: #f1f5f9;
4039 - padding: 1px 6px;
4040 - border-radius: 4px;
4041 -}
4042 -.mxchat-meta-chip-meta {
4043 - font-size: 11px;
4044 - color: var(--mxch-text-muted, #94a3b8);
4045 - white-space: nowrap;
4046 - overflow: hidden;
4047 - text-overflow: ellipsis;
4048 - max-width: 100%;
4049 -}
4050 -.mxchat-meta-chip-tick {
4051 - font-size: 11px;
4052 - font-weight: 600;
4053 - color: var(--mxch-primary, #7873f5);
4054 - margin-top: 2px;
4055 -}
4056 -.mxchat-meta-chip.is-added {
4057 - border-color: var(--mxch-success, #10b981);
4058 - background: rgba(16, 185, 129, 0.06);
4059 - cursor: default;
4060 -}
4061 -.mxchat-meta-chip.is-added .mxchat-meta-chip-tick {
4062 - color: var(--mxch-success, #10b981);
4063 -}
4064 -@media (max-width: 782px) {
4065 - .mxchat-meta-chip-grid {
4066 - grid-template-columns: 1fr;
4067 - }
4068 -}
3858 +}