@yuneta/gobj-ui 7.23.88 → 7.23.90
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.
- package/README.md +27 -0
- package/dist/gobj-ui.cjs.js +4 -4
- package/dist/gobj-ui.es.js +4 -4
- package/package.json +1 -1
- package/src/c_g6_nodes_tree.js +21 -5
- package/src/c_yui_json.css +8 -2
- package/src/c_yui_shell.css +7 -5
- package/src/c_yui_treedb_topics.css +3 -3
- package/src/shell_route_map.css +1 -1
- package/src/tabulator.css +3 -3
package/README.md
CHANGED
|
@@ -2211,6 +2211,33 @@ metadata (`__md_treedb__`).
|
|
|
2211
2211
|
|
|
2212
2212
|
## Conventions
|
|
2213
2213
|
|
|
2214
|
+
### Colour: a brand token as INK takes `-on-scheme`, as a FILL it does not
|
|
2215
|
+
|
|
2216
|
+
A Bulma brand colour (`--bulma-link`, `--bulma-danger`, …) is built to carry
|
|
2217
|
+
**white text on it**, so it is the wrong colour to write WITH: measured
|
|
2218
|
+
against the scheme background, the raw tokens as ink are
|
|
2219
|
+
|
|
2220
|
+
| token | raw, light | raw, dark | `-on-scheme`, light | `-on-scheme`, dark |
|
|
2221
|
+
|---|---|---|---|---|
|
|
2222
|
+
| `link` | 5.16 | **3.51** | 6.33 | 5.65 |
|
|
2223
|
+
| `danger` | **2.80** | 6.46 | 5.83 | 6.46 |
|
|
2224
|
+
| `success` | **2.14** | 8.48 | 8.14 | 8.48 |
|
|
2225
|
+
| `warning` | **1.75** | 10.38 | 7.09 | 10.38 |
|
|
2226
|
+
| `info` | **1.73** | 10.46 | 7.66 | 10.46 |
|
|
2227
|
+
| `primary` | **1.95** | 9.28 | 6.45 | 9.28 |
|
|
2228
|
+
|
|
2229
|
+
— every one of them fails the 4.5:1 of small text in one scheme or the other
|
|
2230
|
+
(`link` in dark, the rest in light). So:
|
|
2231
|
+
|
|
2232
|
+
- **ink** (`color`, a glyph, a thin border that MARKS a state):
|
|
2233
|
+
`var(--bulma-<name>-on-scheme, var(--bulma-<name>, #fallback))`;
|
|
2234
|
+
- **fill** (`background`, a chip, a pressed button): the raw token, paired
|
|
2235
|
+
with `--bulma-<name>-invert` for the text on it. A darkened background
|
|
2236
|
+
under inverted text is a button nobody asked for.
|
|
2237
|
+
|
|
2238
|
+
Bulma computes `-on-scheme` per scheme: the same hue, darkened on a light
|
|
2239
|
+
page (`warning` goes to 23% lightness), unchanged on a dark one.
|
|
2240
|
+
|
|
2214
2241
|
### i18n: a string must be able to CHANGE language, not just be translated once
|
|
2215
2242
|
|
|
2216
2243
|
Passing a string through `t()` is **not** enough. `refresh_language()` only
|
package/dist/gobj-ui.cjs.js
CHANGED
|
@@ -59213,7 +59213,7 @@ function build_node_innerHTML(color, theme, icon, label, topic_name, structural,
|
|
|
59213
59213
|
border = dark ? "#7c8694" : "#94a3b8";
|
|
59214
59214
|
border_style = "dashed";
|
|
59215
59215
|
} else {
|
|
59216
|
-
bg = dark ? `color-mix(in srgb, ${color}
|
|
59216
|
+
bg = dark ? `color-mix(in srgb, ${color} 25%, #2c3542)` : `color-mix(in srgb, ${color} 10%, ${surface})`;
|
|
59217
59217
|
border = dark ? `color-mix(in srgb, ${color} 85%, #ffffff)` : color;
|
|
59218
59218
|
border_style = "solid";
|
|
59219
59219
|
}
|
|
@@ -59222,7 +59222,7 @@ function build_node_innerHTML(color, theme, icon, label, topic_name, structural,
|
|
|
59222
59222
|
border_style = "solid";
|
|
59223
59223
|
}
|
|
59224
59224
|
let title_color = dark ? "#e8eaed" : "#0f172a";
|
|
59225
|
-
let sub_color = dark ? "#
|
|
59225
|
+
let sub_color = dark ? "#ccd3dd" : "#556173";
|
|
59226
59226
|
let shadow = dark ? "0 1px 3px rgba(0,0,0,0.45), 0 1px 2px rgba(0,0,0,0.30)" : "0 1px 3px rgba(15,23,42,0.12), 0 1px 2px rgba(15,23,42,0.06)";
|
|
59227
59227
|
let icon_html = "";
|
|
59228
59228
|
if (icon) icon_html = `
|
|
@@ -60054,7 +60054,7 @@ function pill_colors(color, theme) {
|
|
|
60054
60054
|
let dark = theme === "dark";
|
|
60055
60055
|
return {
|
|
60056
60056
|
bg: dark ? `color-mix(in srgb, ${color} 45%, #1b2230)` : `color-mix(in srgb, ${color} 22%, #ffffff)`,
|
|
60057
|
-
fg: dark ? `color-mix(in srgb, ${color}
|
|
60057
|
+
fg: dark ? `color-mix(in srgb, ${color} 25%, #ffffff)` : `color-mix(in srgb, ${color} 45%, #0f172a)`,
|
|
60058
60058
|
border: dark ? `color-mix(in srgb, ${color} 80%, #ffffff)` : color
|
|
60059
60059
|
};
|
|
60060
60060
|
}
|
|
@@ -60077,7 +60077,7 @@ function build_pill_html(pill, color, theme) {
|
|
|
60077
60077
|
font-size: 10px; font-weight: 700; line-height: 1; white-space: nowrap;
|
|
60078
60078
|
overflow: hidden; text-overflow: ellipsis;
|
|
60079
60079
|
cursor: pointer; user-select: none;
|
|
60080
|
-
"><span style="font-size: 9px;">${glyph}</span>${(0, _yuneta_gobj_js.escapeHtml)(pill.hook)}<span style="
|
|
60080
|
+
"><span style="font-size: 9px;">${glyph}</span>${(0, _yuneta_gobj_js.escapeHtml)(pill.hook)}<span style="font-weight: 600;">${count}</span></span>`;
|
|
60081
60081
|
}
|
|
60082
60082
|
/************************************************************
|
|
60083
60083
|
* The pill row of one node, as html; "" when it has nothing to
|
package/dist/gobj-ui.es.js
CHANGED
|
@@ -59208,7 +59208,7 @@ function build_node_innerHTML(color, theme, icon, label, topic_name, structural,
|
|
|
59208
59208
|
border = dark ? "#7c8694" : "#94a3b8";
|
|
59209
59209
|
border_style = "dashed";
|
|
59210
59210
|
} else {
|
|
59211
|
-
bg = dark ? `color-mix(in srgb, ${color}
|
|
59211
|
+
bg = dark ? `color-mix(in srgb, ${color} 25%, #2c3542)` : `color-mix(in srgb, ${color} 10%, ${surface})`;
|
|
59212
59212
|
border = dark ? `color-mix(in srgb, ${color} 85%, #ffffff)` : color;
|
|
59213
59213
|
border_style = "solid";
|
|
59214
59214
|
}
|
|
@@ -59217,7 +59217,7 @@ function build_node_innerHTML(color, theme, icon, label, topic_name, structural,
|
|
|
59217
59217
|
border_style = "solid";
|
|
59218
59218
|
}
|
|
59219
59219
|
let title_color = dark ? "#e8eaed" : "#0f172a";
|
|
59220
|
-
let sub_color = dark ? "#
|
|
59220
|
+
let sub_color = dark ? "#ccd3dd" : "#556173";
|
|
59221
59221
|
let shadow = dark ? "0 1px 3px rgba(0,0,0,0.45), 0 1px 2px rgba(0,0,0,0.30)" : "0 1px 3px rgba(15,23,42,0.12), 0 1px 2px rgba(15,23,42,0.06)";
|
|
59222
59222
|
let icon_html = "";
|
|
59223
59223
|
if (icon) icon_html = `
|
|
@@ -60049,7 +60049,7 @@ function pill_colors(color, theme) {
|
|
|
60049
60049
|
let dark = theme === "dark";
|
|
60050
60050
|
return {
|
|
60051
60051
|
bg: dark ? `color-mix(in srgb, ${color} 45%, #1b2230)` : `color-mix(in srgb, ${color} 22%, #ffffff)`,
|
|
60052
|
-
fg: dark ? `color-mix(in srgb, ${color}
|
|
60052
|
+
fg: dark ? `color-mix(in srgb, ${color} 25%, #ffffff)` : `color-mix(in srgb, ${color} 45%, #0f172a)`,
|
|
60053
60053
|
border: dark ? `color-mix(in srgb, ${color} 80%, #ffffff)` : color
|
|
60054
60054
|
};
|
|
60055
60055
|
}
|
|
@@ -60072,7 +60072,7 @@ function build_pill_html(pill, color, theme) {
|
|
|
60072
60072
|
font-size: 10px; font-weight: 700; line-height: 1; white-space: nowrap;
|
|
60073
60073
|
overflow: hidden; text-overflow: ellipsis;
|
|
60074
60074
|
cursor: pointer; user-select: none;
|
|
60075
|
-
"><span style="font-size: 9px;">${glyph}</span>${escapeHtml(pill.hook)}<span style="
|
|
60075
|
+
"><span style="font-size: 9px;">${glyph}</span>${escapeHtml(pill.hook)}<span style="font-weight: 600;">${count}</span></span>`;
|
|
60076
60076
|
}
|
|
60077
60077
|
/************************************************************
|
|
60078
60078
|
* The pill row of one node, as html; "" when it has nothing to
|
package/package.json
CHANGED
package/src/c_g6_nodes_tree.js
CHANGED
|
@@ -7297,8 +7297,14 @@ function build_node_innerHTML(color, theme, icon, label, topic_name, structural,
|
|
|
7297
7297
|
// On dark, lift the card off the (near-black) canvas with a
|
|
7298
7298
|
// clearly-lighter slate base + a vivid border, or the cards
|
|
7299
7299
|
// become invisible.
|
|
7300
|
+
/* 25% and not 30% in dark: the tint is what says WHICH topic
|
|
7301
|
+
* a card belongs to, and it is also the ground everything on
|
|
7302
|
+
* the card is written on. At 30% the yellow of the palette
|
|
7303
|
+
* left the record's name at 5.17:1 and the topic under it at
|
|
7304
|
+
* 2.47 -- unreadable at 11px. Five points of tint buy the
|
|
7305
|
+
* name 5.80 and cost the colour almost nothing. */
|
|
7300
7306
|
bg = dark
|
|
7301
|
-
? `color-mix(in srgb, ${color}
|
|
7307
|
+
? `color-mix(in srgb, ${color} 25%, #2c3542)`
|
|
7302
7308
|
: `color-mix(in srgb, ${color} 10%, ${surface})`;
|
|
7303
7309
|
border = dark
|
|
7304
7310
|
? `color-mix(in srgb, ${color} 85%, #ffffff)`
|
|
@@ -7310,7 +7316,12 @@ function build_node_innerHTML(color, theme, icon, label, topic_name, structural,
|
|
|
7310
7316
|
border_style = "solid";
|
|
7311
7317
|
}
|
|
7312
7318
|
let title_color = dark ? "#e8eaed" : "#0f172a";
|
|
7313
|
-
|
|
7319
|
+
/* The topic name under the record's, at 11px, so it needs the
|
|
7320
|
+
* 4.5:1 of small text on the WORST tint of the palette: the old
|
|
7321
|
+
* greys gave 2.47 in dark and 4.28 in light. These give 4.64 and
|
|
7322
|
+
* 5.65, and the hierarchy stays where it belongs -- in the size
|
|
7323
|
+
* and the weight, not in a grey nobody can read. */
|
|
7324
|
+
let sub_color = dark ? "#ccd3dd" : "#556173";
|
|
7314
7325
|
let shadow = dark
|
|
7315
7326
|
? "0 1px 3px rgba(0,0,0,0.45), 0 1px 2px rgba(0,0,0,0.30)"
|
|
7316
7327
|
: "0 1px 3px rgba(15,23,42,0.12), 0 1px 2px rgba(15,23,42,0.06)";
|
|
@@ -8605,9 +8616,14 @@ function pill_colors(color, theme)
|
|
|
8605
8616
|
bg: dark
|
|
8606
8617
|
? `color-mix(in srgb, ${color} 45%, #1b2230)`
|
|
8607
8618
|
: `color-mix(in srgb, ${color} 22%, #ffffff)`,
|
|
8619
|
+
/* The INK of a pill, a leaf chip and a `+N`: it carries the
|
|
8620
|
+
* topic's hue, and it is 10-12px text on the same hue. At
|
|
8621
|
+
* 35/55 the palette's yellow read 4.36 in dark and 3.89 in
|
|
8622
|
+
* light; at 25/45 the worst of the seven is 4.57 and 5.07,
|
|
8623
|
+
* and the hue is still plainly there. */
|
|
8608
8624
|
fg: dark
|
|
8609
|
-
? `color-mix(in srgb, ${color}
|
|
8610
|
-
: `color-mix(in srgb, ${color}
|
|
8625
|
+
? `color-mix(in srgb, ${color} 25%, #ffffff)`
|
|
8626
|
+
: `color-mix(in srgb, ${color} 45%, #0f172a)`,
|
|
8611
8627
|
border: dark
|
|
8612
8628
|
? `color-mix(in srgb, ${color} 80%, #ffffff)`
|
|
8613
8629
|
: color,
|
|
@@ -8637,7 +8653,7 @@ function build_pill_html(pill, color, theme)
|
|
|
8637
8653
|
font-size: 10px; font-weight: 700; line-height: 1; white-space: nowrap;
|
|
8638
8654
|
overflow: hidden; text-overflow: ellipsis;
|
|
8639
8655
|
cursor: pointer; user-select: none;
|
|
8640
|
-
"><span style="font-size: 9px;">${glyph}</span>${escapeHtml(pill.hook)}<span style="
|
|
8656
|
+
"><span style="font-size: 9px;">${glyph}</span>${escapeHtml(pill.hook)}<span style="font-weight: 600;">${count}</span></span>`;
|
|
8641
8657
|
}
|
|
8642
8658
|
|
|
8643
8659
|
/************************************************************
|
package/src/c_yui_json.css
CHANGED
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
|
|
165
165
|
.C_YUI_JSON .JSON_TOGGLE_REMOTE i {
|
|
166
166
|
font-size: 0.8em;
|
|
167
|
-
color: var(--bulma-link, #3273dc);
|
|
167
|
+
color: var(--bulma-link-on-scheme, var(--bulma-link, #3273dc));
|
|
168
168
|
}
|
|
169
169
|
|
|
170
170
|
.C_YUI_JSON .JSON_KEY {
|
|
@@ -195,7 +195,7 @@
|
|
|
195
195
|
}
|
|
196
196
|
|
|
197
197
|
.C_YUI_JSON .JSON_STUB {
|
|
198
|
-
color: var(--bulma-link, #3273dc);
|
|
198
|
+
color: var(--bulma-link-on-scheme, var(--bulma-link, #3273dc));
|
|
199
199
|
font-weight: 600;
|
|
200
200
|
}
|
|
201
201
|
|
|
@@ -286,6 +286,12 @@
|
|
|
286
286
|
/* Bulma's `.button.is-active` only borrows the :active border, which on a
|
|
287
287
|
* three-way switch is not enough to say WHICH view you are looking at.
|
|
288
288
|
* Fill it instead — the mark has to survive a glance. */
|
|
289
|
+
/* The raw `--bulma-link` on purpose, and not `-on-scheme`: this is a
|
|
290
|
+
* FILL. The `-on-scheme` variants exist for a brand colour used as
|
|
291
|
+
* INK -- they darken it on a light scheme so text can sit on the
|
|
292
|
+
* page -- and a darkened fill under `link-invert` text is a button
|
|
293
|
+
* nobody asked for. Ink takes `-on-scheme`; a background takes the
|
|
294
|
+
* raw token and pairs it with `-invert`. */
|
|
289
295
|
.C_YUI_JSON .JSON_VIEW_MODE.is-active {
|
|
290
296
|
background-color: var(--bulma-link, #3273dc);
|
|
291
297
|
border-color: var(--bulma-link, #3273dc);
|
package/src/c_yui_shell.css
CHANGED
|
@@ -228,7 +228,9 @@
|
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
/*--- per-item state class (item.class) — generic disconnected tint ---*/
|
|
231
|
-
.yui-nav-tabs .tabs li.yui-nav-disconnected a {
|
|
231
|
+
.yui-nav-tabs .tabs li.yui-nav-disconnected a {
|
|
232
|
+
color: var(--bulma-danger-on-scheme, var(--bulma-danger, #f14668));
|
|
233
|
+
}
|
|
232
234
|
|
|
233
235
|
/*--- cards (section-index landing grid, mounted as a stage view) ---*/
|
|
234
236
|
.yui-nav-cards {
|
|
@@ -261,11 +263,11 @@
|
|
|
261
263
|
}
|
|
262
264
|
.yui-nav-cards .yui-nav-card:hover,
|
|
263
265
|
.yui-nav-cards .yui-nav-card:focus-visible {
|
|
264
|
-
border-color: var(--bulma-link, #485fc7);
|
|
265
|
-
color: var(--bulma-link, #485fc7);
|
|
266
|
+
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #485fc7));
|
|
267
|
+
color: var(--bulma-link-on-scheme, var(--bulma-link, #485fc7));
|
|
266
268
|
}
|
|
267
269
|
.yui-nav-cards .yui-nav-card.is-active {
|
|
268
|
-
border-color: var(--bulma-link, #485fc7);
|
|
270
|
+
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #485fc7));
|
|
269
271
|
}
|
|
270
272
|
.yui-nav-cards .yui-nav-card[data-disabled="1"] {
|
|
271
273
|
opacity: 0.5;
|
|
@@ -629,7 +631,7 @@
|
|
|
629
631
|
align-items: center;
|
|
630
632
|
flex: 0 0 auto;
|
|
631
633
|
visibility: hidden;
|
|
632
|
-
color: var(--bulma-link, #485fc7);
|
|
634
|
+
color: var(--bulma-link-on-scheme, var(--bulma-link, #485fc7));
|
|
633
635
|
}
|
|
634
636
|
.yui-toolbar-dropdown-item.is-selected .yui-toolbar-dropdown-check {
|
|
635
637
|
visibility: visible;
|
|
@@ -27,8 +27,8 @@
|
|
|
27
27
|
}
|
|
28
28
|
/* Selected (clicked) card: link-coloured border + soft ring. */
|
|
29
29
|
.TREEDB_TOPIC_CARD.is-selected {
|
|
30
|
-
border-color: var(--bulma-link, #485fc7);
|
|
31
|
-
box-shadow: 0 0 0 2px var(--bulma-link, #485fc7) inset;
|
|
30
|
+
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #485fc7));
|
|
31
|
+
box-shadow: 0 0 0 2px var(--bulma-link-on-scheme, var(--bulma-link, #485fc7)) inset;
|
|
32
32
|
}
|
|
33
33
|
.TREEDB_TOPIC_CARD .TREEDB_TOPIC_CARD_NAME {
|
|
34
34
|
font-weight: 600;
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
.TREEDB_TOPIC_CARD_ACTIONS > a:hover,
|
|
58
58
|
.TREEDB_TOPIC_CARD_ACTIONS > a:focus-visible {
|
|
59
59
|
background: var(--bulma-background, #f5f5f5);
|
|
60
|
-
color: var(--bulma-link, #485fc7);
|
|
60
|
+
color: var(--bulma-link-on-scheme, var(--bulma-link, #485fc7));
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
/* Routed topic-info panel. */
|
package/src/shell_route_map.css
CHANGED
package/src/tabulator.css
CHANGED
|
@@ -224,7 +224,7 @@
|
|
|
224
224
|
background-color: var(--bulma-grey-darker, #2b2f38);
|
|
225
225
|
color: var(--bulma-text-strong, #f5f6f7) !important;
|
|
226
226
|
caret-color: var(--bulma-text-strong, #f5f6f7);
|
|
227
|
-
border-color: var(--bulma-link, #4a9eff);
|
|
227
|
+
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #4a9eff));
|
|
228
228
|
}
|
|
229
229
|
|
|
230
230
|
[data-theme=dark] .tabulator-row .tabulator-cell.tabulator-editing input::placeholder,
|
|
@@ -263,7 +263,7 @@
|
|
|
263
263
|
|
|
264
264
|
.tabulator .tabulator-header .tabulator-col .tabulator-header-filter input:focus,
|
|
265
265
|
.tabulator .tabulator-header .tabulator-col .tabulator-header-filter select:focus {
|
|
266
|
-
border-color: var(--bulma-link, #4a9eff);
|
|
266
|
+
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #4a9eff));
|
|
267
267
|
outline: none;
|
|
268
268
|
}
|
|
269
269
|
|
|
@@ -373,7 +373,7 @@
|
|
|
373
373
|
background-color: var(--bulma-grey-darker, #2b2f38);
|
|
374
374
|
color: var(--bulma-text-strong, #f5f6f7) !important;
|
|
375
375
|
caret-color: var(--bulma-text-strong, #f5f6f7);
|
|
376
|
-
border-color: var(--bulma-link, #4a9eff);
|
|
376
|
+
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #4a9eff));
|
|
377
377
|
}
|
|
378
378
|
[data-theme=system] .tabulator-row .tabulator-cell.tabulator-editing input::placeholder,
|
|
379
379
|
[data-theme=system] .tabulator .tabulator-header .tabulator-header-filter input::placeholder {
|