@zolomedia/bifrost-client 1.7.78 → 1.7.80
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -218,7 +218,7 @@ export class TableRenderer {
|
|
|
218
218
|
// Render caption as a description line UNDER the title (not a full-width row
|
|
219
219
|
// inside the table). Reads like a subtitle: what the table shows / source / date.
|
|
220
220
|
if (caption) {
|
|
221
|
-
const captionElement = createElement('p', ['
|
|
221
|
+
const captionElement = createElement('p', ['zText-muted', 'zmb-3']);
|
|
222
222
|
captionElement.style.fontSize = '0.875rem';
|
|
223
223
|
captionElement.textContent = this._decodeUnicodeEscapes(caption);
|
|
224
224
|
wrapper.appendChild(captionElement);
|
|
@@ -323,7 +323,7 @@ export class TableRenderer {
|
|
|
323
323
|
|
|
324
324
|
// Apply zTheme styling
|
|
325
325
|
setAttributes(titleElement, {
|
|
326
|
-
class: '
|
|
326
|
+
class: 'zmb-3 zText-dark',
|
|
327
327
|
style: `font-weight: ${TYPOGRAPHY.FONT_WEIGHTS.MEDIUM};`
|
|
328
328
|
});
|
|
329
329
|
|
|
@@ -574,7 +574,7 @@ export class TableRenderer {
|
|
|
574
574
|
const jumpContainer = createDiv();
|
|
575
575
|
jumpContainer.classList.add(
|
|
576
576
|
'zD-flex',
|
|
577
|
-
'
|
|
577
|
+
'zFlex-items-center',
|
|
578
578
|
getGapClass(2)
|
|
579
579
|
);
|
|
580
580
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zolomedia/bifrost-client",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.80",
|
|
4
4
|
"description": "Browser client for zBifrost — the WebSocket bridge that turns JSON events from a zOS server into live DOM. Thin bootstrap + server-controlled core.",
|
|
5
5
|
"homepage": "https://github.com/ZoloAi/zbifrost-client#readme",
|
|
6
6
|
"repository": {
|
package/zSys/theme/zbase.css
CHANGED
|
@@ -1052,6 +1052,10 @@ zNavBar .zNav-link.active {
|
|
|
1052
1052
|
}
|
|
1053
1053
|
|
|
1054
1054
|
.zText-muted { opacity: 0.6; }
|
|
1055
|
+
.zText-dark { color: #f9fafb; }
|
|
1056
|
+
.zBorder { border: 1px solid rgba(255, 255, 255, 0.12); }
|
|
1057
|
+
.zShadow-sm { box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); }
|
|
1058
|
+
.zBg-white { background: rgba(255, 255, 255, 0.04); }
|
|
1055
1059
|
.zText-center { text-align: center !important; }
|
|
1056
1060
|
.zText-start { text-align: left !important; }
|
|
1057
1061
|
.zText-end { text-align: right !important; }
|
|
@@ -1114,6 +1118,12 @@ zNavBar .zNav-link.active {
|
|
|
1114
1118
|
opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; filter: none;
|
|
1115
1119
|
}
|
|
1116
1120
|
|
|
1121
|
+
/* Generic disabled — covers outline/plain buttons (e.g. paging First/Prev at edge)
|
|
1122
|
+
* so a disabled control always reads as muted and never out-ranks an active one. */
|
|
1123
|
+
.zBtn:disabled, .zBtn[disabled] {
|
|
1124
|
+
opacity: 0.45; cursor: not-allowed; transform: none; box-shadow: none;
|
|
1125
|
+
}
|
|
1126
|
+
|
|
1117
1127
|
/* SSOT fills — keyed to --color-* (same tokens/hexes as .zText-*), so a button
|
|
1118
1128
|
* matches a heading of the same color name. Dark text on the light hues
|
|
1119
1129
|
* (primary/success/warning/info), white on the deep ones (secondary/danger). */
|
|
@@ -1124,6 +1134,47 @@ zNavBar .zNav-link.active {
|
|
|
1124
1134
|
.zBtn-warning { background: var(--color-warning, #FFB347); color: #3a2400; }
|
|
1125
1135
|
.zBtn-info { background: var(--color-info, #5CA9FF); color: #07243d; }
|
|
1126
1136
|
|
|
1137
|
+
/* Size + outline + group variants — emitted by the renderer (e.g. the zTable
|
|
1138
|
+
* paging control bar). Outline buttons keep the base box model and only swap the
|
|
1139
|
+
* skin (transparent fill, token-tinted text/border). */
|
|
1140
|
+
.zBtn-sm { padding: 0.32rem 0.7rem; font-size: 0.82rem; border-radius: 7px; }
|
|
1141
|
+
.zBtn-lg { padding: 0.8rem 1.8rem; font-size: 1.05rem; border-radius: 11px; }
|
|
1142
|
+
|
|
1143
|
+
.zBtn-outline-primary,
|
|
1144
|
+
.zBtn-outline-secondary,
|
|
1145
|
+
.zBtn-outline-success,
|
|
1146
|
+
.zBtn-outline-warning,
|
|
1147
|
+
.zBtn-outline-info {
|
|
1148
|
+
display: inline-flex;
|
|
1149
|
+
align-items: center;
|
|
1150
|
+
justify-content: center;
|
|
1151
|
+
gap: 0.35rem;
|
|
1152
|
+
font-family: inherit;
|
|
1153
|
+
font-weight: 600;
|
|
1154
|
+
line-height: 1.4;
|
|
1155
|
+
background: transparent;
|
|
1156
|
+
border-color: currentColor;
|
|
1157
|
+
transition: background 0.15s ease, transform 0.08s ease;
|
|
1158
|
+
}
|
|
1159
|
+
.zBtn-outline-primary { color: var(--color-primary, #A2D46E); }
|
|
1160
|
+
.zBtn-outline-secondary { color: var(--color-secondary, #9370DB); }
|
|
1161
|
+
.zBtn-outline-success { color: var(--color-success, #52B788); }
|
|
1162
|
+
.zBtn-outline-warning { color: var(--color-warning, #FFB347); }
|
|
1163
|
+
.zBtn-outline-info { color: var(--color-info, #5CA9FF); }
|
|
1164
|
+
.zBtn-outline-primary:hover,
|
|
1165
|
+
.zBtn-outline-secondary:hover,
|
|
1166
|
+
.zBtn-outline-success:hover,
|
|
1167
|
+
.zBtn-outline-warning:hover,
|
|
1168
|
+
.zBtn-outline-info:hover {
|
|
1169
|
+
background: color-mix(in srgb, currentColor 14%, transparent);
|
|
1170
|
+
}
|
|
1171
|
+
|
|
1172
|
+
.zBtn-group { display: inline-flex; }
|
|
1173
|
+
.zBtn-group > .zBtn { border-radius: 0; }
|
|
1174
|
+
.zBtn-group > .zBtn:first-child { border-top-left-radius: 7px; border-bottom-left-radius: 7px; }
|
|
1175
|
+
.zBtn-group > .zBtn:last-child { border-top-right-radius: 7px; border-bottom-right-radius: 7px; }
|
|
1176
|
+
.zBtn-group > .zBtn:not(:first-child) { margin-left: -1px; }
|
|
1177
|
+
|
|
1127
1178
|
/* Structural display defaults */
|
|
1128
1179
|
.zSignal { display: block; }
|
|
1129
1180
|
.zCard { position: relative; }
|