@yuneta/gobj-ui 7.23.93 → 7.23.95
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 +8 -0
- package/dist/gobj-ui.cjs.js +34 -29
- package/dist/gobj-ui.es.js +34 -29
- package/package.json +1 -1
- package/src/c_yui_form.css +5 -1
- package/src/c_yui_gclass.js +3 -3
- package/src/c_yui_json.js +5 -5
- package/src/c_yui_period.js +3 -3
- package/src/c_yui_schema_editor.js +10 -10
- package/src/c_yui_shell.css +46 -1
- package/src/c_yui_treedb_schema.js +1 -1
- package/src/c_yui_treedb_topic_with_form.js +7 -3
- package/src/c_yui_window_manager.js +8 -3
- package/src/shell_route_map.css +11 -0
- package/src/shell_route_map.js +1 -1
- package/src/tabulator.css +10 -7
- package/src/yui_graph_camera.js +1 -1
package/README.md
CHANGED
|
@@ -2245,6 +2245,14 @@ against the scheme background, the raw tokens as ink are
|
|
|
2245
2245
|
Bulma computes `-on-scheme` per scheme: the same hue, darkened on a light
|
|
2246
2246
|
page (`warning` goes to 23% lightness), unchanged on a dark one.
|
|
2247
2247
|
|
|
2248
|
+
**Quiet text**: `.yui-text-quiet` (the text colour at 75%), never Bulma's
|
|
2249
|
+
`has-text-grey` — one mid grey for both schemes, 3.86:1 on the dark one, and
|
|
2250
|
+
what the library writes in grey is an empty state, a timestamp, a topic id, a
|
|
2251
|
+
notice's detail: text somebody has to read. And a **placeholder** is text
|
|
2252
|
+
too; the shell's stylesheet raises Bulma's 30% alpha to 70% (2.47:1 → 7.96 in
|
|
2253
|
+
dark) where Bulma declares the variable, since a `:root` override does not
|
|
2254
|
+
reach it.
|
|
2255
|
+
|
|
2248
2256
|
### i18n: a string must be able to CHANGE language, not just be translated once
|
|
2249
2257
|
|
|
2250
2258
|
Passing a string through `t()` is **not** enough. `refresh_language()` only
|
package/dist/gobj-ui.cjs.js
CHANGED
|
@@ -4420,8 +4420,13 @@ function ensure_dock_style() {
|
|
|
4420
4420
|
background: var(--bulma-scheme-main); color: var(--bulma-text); cursor: pointer; white-space: nowrap;
|
|
4421
4421
|
}
|
|
4422
4422
|
.yui-dock-chip:hover { border-color: var(--bulma-text-weak); }
|
|
4423
|
-
|
|
4424
|
-
.
|
|
4423
|
+
/* The BORDER says active, not the text: blue ink on a blue tint is
|
|
4424
|
+
* the same hue on itself -- 4.49:1 on the light chip, under the 4.5
|
|
4425
|
+
* its 12px label needs. The label takes the text colour (11:1). */
|
|
4426
|
+
.yui-dock-chip.is-active { border-color: #2563eb; color: var(--bulma-text, #2e333d); background: rgba(37,99,235,0.10); font-weight: 600; }
|
|
4427
|
+
/* A minimised window is quieter, not unreadable: 0.65 is 4.3:1 on the
|
|
4428
|
+
* light scheme for a 12px label. */
|
|
4429
|
+
.yui-dock-chip.is-min { opacity: 0.7; }
|
|
4425
4430
|
.yui-dock-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; flex: 0 0 auto; }
|
|
4426
4431
|
.yui-dock-chip.is-min .yui-dock-dot { background: var(--bulma-text-weak); }
|
|
4427
4432
|
.yui-dock-icon { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; font-size: 14px; flex: 0 0 auto; }
|
|
@@ -4439,7 +4444,7 @@ function ensure_dock_style() {
|
|
|
4439
4444
|
}
|
|
4440
4445
|
.yui-dock-close:hover { background: #e0364a; color: #fff; }
|
|
4441
4446
|
.yui-dock-close svg { width: 11px; height: 11px; display: block; }
|
|
4442
|
-
:root[data-theme="dark"] .yui-dock-chip.is-active { border-color: #60a5fa; color: #
|
|
4447
|
+
:root[data-theme="dark"] .yui-dock-chip.is-active { border-color: #60a5fa; color: var(--bulma-text, #ebecf0); background: rgba(96,165,250,0.16); }
|
|
4443
4448
|
`;
|
|
4444
4449
|
let $style = document.createElement("style");
|
|
4445
4450
|
$style.id = "yui-dock-style";
|
|
@@ -10651,7 +10656,7 @@ function yui_graph_camera_items(gobj, graph, wide) {
|
|
|
10651
10656
|
[
|
|
10652
10657
|
"span",
|
|
10653
10658
|
{
|
|
10654
|
-
class: "GRAPH_ZOOM_LEVEL is-flex is-align-items-center px-2
|
|
10659
|
+
class: "GRAPH_ZOOM_LEVEL is-flex is-align-items-center px-2 yui-text-quiet",
|
|
10655
10660
|
style: "font-size:.85rem; min-width:3.5em; justify-content:center;",
|
|
10656
10661
|
title: (0, i18next.t)("zoom level"),
|
|
10657
10662
|
"data-i18n-title": "zoom level"
|
|
@@ -13427,7 +13432,7 @@ function render_graph(gobj) {
|
|
|
13427
13432
|
$graph.appendChild((0, _yuneta_gobj_js.createElement2)([
|
|
13428
13433
|
"div",
|
|
13429
13434
|
{
|
|
13430
|
-
class: "JSON_EMPTY
|
|
13435
|
+
class: "JSON_EMPTY yui-text-quiet p-3",
|
|
13431
13436
|
"data-i18n": "no data"
|
|
13432
13437
|
},
|
|
13433
13438
|
"no data"
|
|
@@ -13496,7 +13501,7 @@ function render_text(gobj) {
|
|
|
13496
13501
|
$text.appendChild((0, _yuneta_gobj_js.createElement2)([
|
|
13497
13502
|
"div",
|
|
13498
13503
|
{
|
|
13499
|
-
class: "JSON_EMPTY
|
|
13504
|
+
class: "JSON_EMPTY yui-text-quiet p-3",
|
|
13500
13505
|
"data-i18n": "no data"
|
|
13501
13506
|
},
|
|
13502
13507
|
"no data"
|
|
@@ -13540,7 +13545,7 @@ function render_tree(gobj) {
|
|
|
13540
13545
|
$tree.appendChild((0, _yuneta_gobj_js.createElement2)([
|
|
13541
13546
|
"div",
|
|
13542
13547
|
{
|
|
13543
|
-
class: "JSON_EMPTY
|
|
13548
|
+
class: "JSON_EMPTY yui-text-quiet p-3",
|
|
13544
13549
|
"data-i18n": "no data"
|
|
13545
13550
|
},
|
|
13546
13551
|
"no data"
|
|
@@ -13716,7 +13721,7 @@ function toggle_row(gobj, key, size, is_object, depth, path, open, value) {
|
|
|
13716
13721
|
}
|
|
13717
13722
|
body.push([
|
|
13718
13723
|
"span",
|
|
13719
|
-
{ class: "JSON_SUMMARY
|
|
13724
|
+
{ class: "JSON_SUMMARY yui-text-quiet" },
|
|
13720
13725
|
summary
|
|
13721
13726
|
]);
|
|
13722
13727
|
let label = container_label(value, MAX_LABEL_CHARS);
|
|
@@ -13786,7 +13791,7 @@ function leaf_row(key, value, depth) {
|
|
|
13786
13791
|
let wall = format_epoch(value);
|
|
13787
13792
|
if (wall) body.push([
|
|
13788
13793
|
"span",
|
|
13789
|
-
{ class: "JSON_TIME is-size-7
|
|
13794
|
+
{ class: "JSON_TIME is-size-7 yui-text-quiet ml-2" },
|
|
13790
13795
|
wall
|
|
13791
13796
|
]);
|
|
13792
13797
|
}
|
|
@@ -15723,7 +15728,7 @@ function render_raw(gobj) {
|
|
|
15723
15728
|
$raw.appendChild((0, _yuneta_gobj_js.createElement2)([
|
|
15724
15729
|
"div",
|
|
15725
15730
|
{
|
|
15726
|
-
class: "GCLASS_EMPTY p-4
|
|
15731
|
+
class: "GCLASS_EMPTY p-4 yui-text-quiet",
|
|
15727
15732
|
i18n: "no data"
|
|
15728
15733
|
},
|
|
15729
15734
|
(0, i18next.t)("no data")
|
|
@@ -15739,7 +15744,7 @@ function render_raw(gobj) {
|
|
|
15739
15744
|
if (dump.capped) children.push([
|
|
15740
15745
|
"div",
|
|
15741
15746
|
{
|
|
15742
|
-
class: "GCLASS_RAW_CAPPED
|
|
15747
|
+
class: "GCLASS_RAW_CAPPED yui-text-quiet is-size-7 p-2",
|
|
15743
15748
|
i18n: "text truncated"
|
|
15744
15749
|
},
|
|
15745
15750
|
(0, i18next.t)("text truncated")
|
|
@@ -15772,7 +15777,7 @@ function render_zones(gobj) {
|
|
|
15772
15777
|
$zones.appendChild((0, _yuneta_gobj_js.createElement2)([
|
|
15773
15778
|
"div",
|
|
15774
15779
|
{
|
|
15775
|
-
class: "GCLASS_EMPTY p-4
|
|
15780
|
+
class: "GCLASS_EMPTY p-4 yui-text-quiet",
|
|
15776
15781
|
i18n: "no data"
|
|
15777
15782
|
},
|
|
15778
15783
|
(0, i18next.t)("no data")
|
|
@@ -20959,7 +20964,7 @@ function build_body(shell, t) {
|
|
|
20959
20964
|
]);
|
|
20960
20965
|
let $count = (0, _yuneta_gobj_js.createElement2)([
|
|
20961
20966
|
"span",
|
|
20962
|
-
{ class: "ROUTEMAP_COUNT is-size-7
|
|
20967
|
+
{ class: "ROUTEMAP_COUNT is-size-7 yui-text-quiet is-hidden" },
|
|
20963
20968
|
[$count_n]
|
|
20964
20969
|
]);
|
|
20965
20970
|
let $refs_input = (0, _yuneta_gobj_js.createElement2)(["input", {
|
|
@@ -24751,7 +24756,7 @@ function create_tabulator(gobj) {
|
|
|
24751
24756
|
index: pkey,
|
|
24752
24757
|
columns,
|
|
24753
24758
|
selectableRows: selectable,
|
|
24754
|
-
footerElement: "<span class='yui-tabulator-rowcount' style='display:block;text-align:right;font-size:0.8rem;
|
|
24759
|
+
footerElement: "<span class='yui-tabulator-rowcount yui-text-quiet' style='display:block;text-align:right;font-size:0.8rem;padding:0 0.6rem;'></span>"
|
|
24755
24760
|
});
|
|
24756
24761
|
let $view_container = (0, _yuneta_gobj_js.gobj_read_attr)(gobj, "$container");
|
|
24757
24762
|
let $table_el = $view_container ? $view_container.querySelector(`#${table_id}`) : null;
|
|
@@ -24911,7 +24916,7 @@ function icon_formatter(cell) {
|
|
|
24911
24916
|
if (!/^[a-z0-9-]+$/.test(name) || !yui_icon_is_defined(name)) return (0, _yuneta_gobj_js.createElement2)([
|
|
24912
24917
|
"span",
|
|
24913
24918
|
{
|
|
24914
|
-
class: "ICON_CELL_UNKNOWN is-size-7
|
|
24919
|
+
class: "ICON_CELL_UNKNOWN is-size-7 yui-text-quiet",
|
|
24915
24920
|
title: name
|
|
24916
24921
|
},
|
|
24917
24922
|
name
|
|
@@ -64451,7 +64456,7 @@ function build_graph(gobj) {
|
|
|
64451
64456
|
let $empty = (0, _yuneta_gobj_js.createElement2)([
|
|
64452
64457
|
"div",
|
|
64453
64458
|
{
|
|
64454
|
-
class: "TREEDB_SCHEMA_EMPTY p-4
|
|
64459
|
+
class: "TREEDB_SCHEMA_EMPTY p-4 yui-text-quiet",
|
|
64455
64460
|
i18n: "no topics"
|
|
64456
64461
|
},
|
|
64457
64462
|
(0, i18next.t)("no topics", { defaultValue: "No topics" })
|
|
@@ -66525,7 +66530,7 @@ function build_ui$1(gobj) {
|
|
|
66525
66530
|
],
|
|
66526
66531
|
[
|
|
66527
66532
|
"div",
|
|
66528
|
-
{ class: "SCHEMA_NOTICE p-4
|
|
66533
|
+
{ class: "SCHEMA_NOTICE p-4 yui-text-quiet is-hidden" },
|
|
66529
66534
|
[]
|
|
66530
66535
|
],
|
|
66531
66536
|
[
|
|
@@ -66825,7 +66830,7 @@ function show_notice(gobj, key, detail) {
|
|
|
66825
66830
|
]));
|
|
66826
66831
|
if (detail) $notice.appendChild((0, _yuneta_gobj_js.createElement2)([
|
|
66827
66832
|
"span",
|
|
66828
|
-
{ class: "SCHEMA_NOTICE_DETAIL
|
|
66833
|
+
{ class: "SCHEMA_NOTICE_DETAIL yui-text-quiet ml-2" },
|
|
66829
66834
|
`${detail}`
|
|
66830
66835
|
]));
|
|
66831
66836
|
}
|
|
@@ -66947,7 +66952,7 @@ function render_toolbar(gobj) {
|
|
|
66947
66952
|
}
|
|
66948
66953
|
$left.push([
|
|
66949
66954
|
"nav",
|
|
66950
|
-
{ class: "SCHEMA_CRUMBS is-size-7
|
|
66955
|
+
{ class: "SCHEMA_CRUMBS is-size-7 yui-text-quiet ml-1" },
|
|
66951
66956
|
$trail
|
|
66952
66957
|
]);
|
|
66953
66958
|
let $right = [];
|
|
@@ -67203,7 +67208,7 @@ function render_topics(gobj, $body) {
|
|
|
67203
67208
|
],
|
|
67204
67209
|
ambiguous ? [
|
|
67205
67210
|
"div",
|
|
67206
|
-
{ class: "SCHEMA_TOPIC_ID is-size-7
|
|
67211
|
+
{ class: "SCHEMA_TOPIC_ID is-size-7 yui-text-quiet" },
|
|
67207
67212
|
[[
|
|
67208
67213
|
"code",
|
|
67209
67214
|
{},
|
|
@@ -67454,7 +67459,7 @@ function render_columns(gobj, $body) {
|
|
|
67454
67459
|
if (topic.cols.length === 0) $wrap.appendChild((0, _yuneta_gobj_js.createElement2)([
|
|
67455
67460
|
"p",
|
|
67456
67461
|
{
|
|
67457
|
-
class: "SCHEMA_COLUMNS_EMPTY
|
|
67462
|
+
class: "SCHEMA_COLUMNS_EMPTY yui-text-quiet p-3",
|
|
67458
67463
|
i18n: "this topic has no column"
|
|
67459
67464
|
},
|
|
67460
67465
|
(0, i18next.t)("this topic has no column")
|
|
@@ -67566,7 +67571,7 @@ function column_row(gobj, topic, col, index, readonly, twice) {
|
|
|
67566
67571
|
{ class: "SCHEMA_COL_HANDLE" },
|
|
67567
67572
|
readonly ? [] : [[
|
|
67568
67573
|
"span",
|
|
67569
|
-
{ class: "icon
|
|
67574
|
+
{ class: "icon yui-text-quiet" },
|
|
67570
67575
|
[["i", { class: "yi-grip-vertical" }]]
|
|
67571
67576
|
]]
|
|
67572
67577
|
],
|
|
@@ -67581,7 +67586,7 @@ function column_row(gobj, topic, col, index, readonly, twice) {
|
|
|
67581
67586
|
],
|
|
67582
67587
|
ambiguous ? [
|
|
67583
67588
|
"span",
|
|
67584
|
-
{ class: "SCHEMA_COL_ID is-size-7
|
|
67589
|
+
{ class: "SCHEMA_COL_ID is-size-7 yui-text-quiet ml-2" },
|
|
67585
67590
|
[[
|
|
67586
67591
|
"code",
|
|
67587
67592
|
{},
|
|
@@ -67923,7 +67928,7 @@ function flags_field(gobj, type, current) {
|
|
|
67923
67928
|
return [
|
|
67924
67929
|
"label",
|
|
67925
67930
|
el_attrs({
|
|
67926
|
-
class: "SCHEMA_FLAG checkbox " + (flag.meaningful ? "" : "SCHEMA_FLAG_DIM
|
|
67931
|
+
class: "SCHEMA_FLAG checkbox " + (flag.meaningful ? "" : "SCHEMA_FLAG_DIM yui-text-quiet-light"),
|
|
67927
67932
|
title: flag.desc ? (0, i18next.t)(flag.desc) : "",
|
|
67928
67933
|
"data-i18n-title": flag.desc || void 0
|
|
67929
67934
|
}),
|
|
@@ -67945,7 +67950,7 @@ function flags_field(gobj, type, current) {
|
|
|
67945
67950
|
[[
|
|
67946
67951
|
"p",
|
|
67947
67952
|
{
|
|
67948
|
-
class: "SCHEMA_FLAG_GROUP_NAME has-text-weight-semibold
|
|
67953
|
+
class: "SCHEMA_FLAG_GROUP_NAME has-text-weight-semibold yui-text-quiet",
|
|
67949
67954
|
i18n: group.group
|
|
67950
67955
|
},
|
|
67951
67956
|
(0, i18next.t)(group.group)
|
|
@@ -68639,7 +68644,7 @@ function render_import_plan(gobj, plan) {
|
|
|
68639
68644
|
{ class: "SCHEMA_IMPORT_SUMMARY" },
|
|
68640
68645
|
[[
|
|
68641
68646
|
"p",
|
|
68642
|
-
{ class: "SCHEMA_IMPORT_COUNT is-size-7
|
|
68647
|
+
{ class: "SCHEMA_IMPORT_COUNT is-size-7 yui-text-quiet mb-2" },
|
|
68643
68648
|
[
|
|
68644
68649
|
[
|
|
68645
68650
|
"span",
|
|
@@ -71174,7 +71179,7 @@ function build_days_grid(gobj, view, locale) {
|
|
|
71174
71179
|
let d = new Date(start.getFullYear(), start.getMonth(), start.getDate() + i);
|
|
71175
71180
|
$dow.push([
|
|
71176
71181
|
"div",
|
|
71177
|
-
{ class: "has-text-centered is-size-7
|
|
71182
|
+
{ class: "has-text-centered is-size-7 yui-text-quiet YUI_PERIOD_CAL_DOW" },
|
|
71178
71183
|
new Intl.DateTimeFormat(locale, { weekday: "narrow" }).format(d)
|
|
71179
71184
|
]);
|
|
71180
71185
|
}
|
|
@@ -71200,7 +71205,7 @@ function build_days_grid(gobj, view, locale) {
|
|
|
71200
71205
|
let $wk = (0, _yuneta_gobj_js.createElement2)([
|
|
71201
71206
|
"button",
|
|
71202
71207
|
{
|
|
71203
|
-
class: "button is-small is-ghost is-size-7
|
|
71208
|
+
class: "button is-small is-ghost is-size-7 yui-text-quiet YUI_PERIOD_CAL_WEEKNUM",
|
|
71204
71209
|
type: "button",
|
|
71205
71210
|
style: "width:100%;",
|
|
71206
71211
|
title: wk_name,
|
|
@@ -71218,7 +71223,7 @@ function build_days_grid(gobj, view, locale) {
|
|
|
71218
71223
|
let ts = d.getTime();
|
|
71219
71224
|
let selected = ts >= sel.from && ts <= sel.to;
|
|
71220
71225
|
let $btn = cell_button(gobj, d.getDate(), ts, selected, "YUI_PERIOD_CAL_DAY", day_name.format(d));
|
|
71221
|
-
if (d.getMonth() !== view.getMonth()) $btn.classList.add("
|
|
71226
|
+
if (d.getMonth() !== view.getMonth()) $btn.classList.add("yui-text-quiet-light");
|
|
71222
71227
|
if (day_number(d) === today) $btn.classList.add("has-text-weight-bold", "YUI_PERIOD_CAL_TODAY_CELL");
|
|
71223
71228
|
cells.push({
|
|
71224
71229
|
ts,
|
package/dist/gobj-ui.es.js
CHANGED
|
@@ -4415,8 +4415,13 @@ function ensure_dock_style() {
|
|
|
4415
4415
|
background: var(--bulma-scheme-main); color: var(--bulma-text); cursor: pointer; white-space: nowrap;
|
|
4416
4416
|
}
|
|
4417
4417
|
.yui-dock-chip:hover { border-color: var(--bulma-text-weak); }
|
|
4418
|
-
|
|
4419
|
-
.
|
|
4418
|
+
/* The BORDER says active, not the text: blue ink on a blue tint is
|
|
4419
|
+
* the same hue on itself -- 4.49:1 on the light chip, under the 4.5
|
|
4420
|
+
* its 12px label needs. The label takes the text colour (11:1). */
|
|
4421
|
+
.yui-dock-chip.is-active { border-color: #2563eb; color: var(--bulma-text, #2e333d); background: rgba(37,99,235,0.10); font-weight: 600; }
|
|
4422
|
+
/* A minimised window is quieter, not unreadable: 0.65 is 4.3:1 on the
|
|
4423
|
+
* light scheme for a 12px label. */
|
|
4424
|
+
.yui-dock-chip.is-min { opacity: 0.7; }
|
|
4420
4425
|
.yui-dock-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; flex: 0 0 auto; }
|
|
4421
4426
|
.yui-dock-chip.is-min .yui-dock-dot { background: var(--bulma-text-weak); }
|
|
4422
4427
|
.yui-dock-icon { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; font-size: 14px; flex: 0 0 auto; }
|
|
@@ -4434,7 +4439,7 @@ function ensure_dock_style() {
|
|
|
4434
4439
|
}
|
|
4435
4440
|
.yui-dock-close:hover { background: #e0364a; color: #fff; }
|
|
4436
4441
|
.yui-dock-close svg { width: 11px; height: 11px; display: block; }
|
|
4437
|
-
:root[data-theme="dark"] .yui-dock-chip.is-active { border-color: #60a5fa; color: #
|
|
4442
|
+
:root[data-theme="dark"] .yui-dock-chip.is-active { border-color: #60a5fa; color: var(--bulma-text, #ebecf0); background: rgba(96,165,250,0.16); }
|
|
4438
4443
|
`;
|
|
4439
4444
|
let $style = document.createElement("style");
|
|
4440
4445
|
$style.id = "yui-dock-style";
|
|
@@ -10646,7 +10651,7 @@ function yui_graph_camera_items(gobj, graph, wide) {
|
|
|
10646
10651
|
[
|
|
10647
10652
|
"span",
|
|
10648
10653
|
{
|
|
10649
|
-
class: "GRAPH_ZOOM_LEVEL is-flex is-align-items-center px-2
|
|
10654
|
+
class: "GRAPH_ZOOM_LEVEL is-flex is-align-items-center px-2 yui-text-quiet",
|
|
10650
10655
|
style: "font-size:.85rem; min-width:3.5em; justify-content:center;",
|
|
10651
10656
|
title: t("zoom level"),
|
|
10652
10657
|
"data-i18n-title": "zoom level"
|
|
@@ -13422,7 +13427,7 @@ function render_graph(gobj) {
|
|
|
13422
13427
|
$graph.appendChild(createElement2([
|
|
13423
13428
|
"div",
|
|
13424
13429
|
{
|
|
13425
|
-
class: "JSON_EMPTY
|
|
13430
|
+
class: "JSON_EMPTY yui-text-quiet p-3",
|
|
13426
13431
|
"data-i18n": "no data"
|
|
13427
13432
|
},
|
|
13428
13433
|
"no data"
|
|
@@ -13491,7 +13496,7 @@ function render_text(gobj) {
|
|
|
13491
13496
|
$text.appendChild(createElement2([
|
|
13492
13497
|
"div",
|
|
13493
13498
|
{
|
|
13494
|
-
class: "JSON_EMPTY
|
|
13499
|
+
class: "JSON_EMPTY yui-text-quiet p-3",
|
|
13495
13500
|
"data-i18n": "no data"
|
|
13496
13501
|
},
|
|
13497
13502
|
"no data"
|
|
@@ -13535,7 +13540,7 @@ function render_tree(gobj) {
|
|
|
13535
13540
|
$tree.appendChild(createElement2([
|
|
13536
13541
|
"div",
|
|
13537
13542
|
{
|
|
13538
|
-
class: "JSON_EMPTY
|
|
13543
|
+
class: "JSON_EMPTY yui-text-quiet p-3",
|
|
13539
13544
|
"data-i18n": "no data"
|
|
13540
13545
|
},
|
|
13541
13546
|
"no data"
|
|
@@ -13711,7 +13716,7 @@ function toggle_row(gobj, key, size, is_object, depth, path, open, value) {
|
|
|
13711
13716
|
}
|
|
13712
13717
|
body.push([
|
|
13713
13718
|
"span",
|
|
13714
|
-
{ class: "JSON_SUMMARY
|
|
13719
|
+
{ class: "JSON_SUMMARY yui-text-quiet" },
|
|
13715
13720
|
summary
|
|
13716
13721
|
]);
|
|
13717
13722
|
let label = container_label(value, MAX_LABEL_CHARS);
|
|
@@ -13781,7 +13786,7 @@ function leaf_row(key, value, depth) {
|
|
|
13781
13786
|
let wall = format_epoch(value);
|
|
13782
13787
|
if (wall) body.push([
|
|
13783
13788
|
"span",
|
|
13784
|
-
{ class: "JSON_TIME is-size-7
|
|
13789
|
+
{ class: "JSON_TIME is-size-7 yui-text-quiet ml-2" },
|
|
13785
13790
|
wall
|
|
13786
13791
|
]);
|
|
13787
13792
|
}
|
|
@@ -15718,7 +15723,7 @@ function render_raw(gobj) {
|
|
|
15718
15723
|
$raw.appendChild(createElement2([
|
|
15719
15724
|
"div",
|
|
15720
15725
|
{
|
|
15721
|
-
class: "GCLASS_EMPTY p-4
|
|
15726
|
+
class: "GCLASS_EMPTY p-4 yui-text-quiet",
|
|
15722
15727
|
i18n: "no data"
|
|
15723
15728
|
},
|
|
15724
15729
|
t("no data")
|
|
@@ -15734,7 +15739,7 @@ function render_raw(gobj) {
|
|
|
15734
15739
|
if (dump.capped) children.push([
|
|
15735
15740
|
"div",
|
|
15736
15741
|
{
|
|
15737
|
-
class: "GCLASS_RAW_CAPPED
|
|
15742
|
+
class: "GCLASS_RAW_CAPPED yui-text-quiet is-size-7 p-2",
|
|
15738
15743
|
i18n: "text truncated"
|
|
15739
15744
|
},
|
|
15740
15745
|
t("text truncated")
|
|
@@ -15767,7 +15772,7 @@ function render_zones(gobj) {
|
|
|
15767
15772
|
$zones.appendChild(createElement2([
|
|
15768
15773
|
"div",
|
|
15769
15774
|
{
|
|
15770
|
-
class: "GCLASS_EMPTY p-4
|
|
15775
|
+
class: "GCLASS_EMPTY p-4 yui-text-quiet",
|
|
15771
15776
|
i18n: "no data"
|
|
15772
15777
|
},
|
|
15773
15778
|
t("no data")
|
|
@@ -20954,7 +20959,7 @@ function build_body(shell, t) {
|
|
|
20954
20959
|
]);
|
|
20955
20960
|
let $count = createElement2([
|
|
20956
20961
|
"span",
|
|
20957
|
-
{ class: "ROUTEMAP_COUNT is-size-7
|
|
20962
|
+
{ class: "ROUTEMAP_COUNT is-size-7 yui-text-quiet is-hidden" },
|
|
20958
20963
|
[$count_n]
|
|
20959
20964
|
]);
|
|
20960
20965
|
let $refs_input = createElement2(["input", {
|
|
@@ -24746,7 +24751,7 @@ function create_tabulator(gobj) {
|
|
|
24746
24751
|
index: pkey,
|
|
24747
24752
|
columns,
|
|
24748
24753
|
selectableRows: selectable,
|
|
24749
|
-
footerElement: "<span class='yui-tabulator-rowcount' style='display:block;text-align:right;font-size:0.8rem;
|
|
24754
|
+
footerElement: "<span class='yui-tabulator-rowcount yui-text-quiet' style='display:block;text-align:right;font-size:0.8rem;padding:0 0.6rem;'></span>"
|
|
24750
24755
|
});
|
|
24751
24756
|
let $view_container = gobj_read_attr(gobj, "$container");
|
|
24752
24757
|
let $table_el = $view_container ? $view_container.querySelector(`#${table_id}`) : null;
|
|
@@ -24906,7 +24911,7 @@ function icon_formatter(cell) {
|
|
|
24906
24911
|
if (!/^[a-z0-9-]+$/.test(name) || !yui_icon_is_defined(name)) return createElement2([
|
|
24907
24912
|
"span",
|
|
24908
24913
|
{
|
|
24909
|
-
class: "ICON_CELL_UNKNOWN is-size-7
|
|
24914
|
+
class: "ICON_CELL_UNKNOWN is-size-7 yui-text-quiet",
|
|
24910
24915
|
title: name
|
|
24911
24916
|
},
|
|
24912
24917
|
name
|
|
@@ -64446,7 +64451,7 @@ function build_graph(gobj) {
|
|
|
64446
64451
|
let $empty = createElement2([
|
|
64447
64452
|
"div",
|
|
64448
64453
|
{
|
|
64449
|
-
class: "TREEDB_SCHEMA_EMPTY p-4
|
|
64454
|
+
class: "TREEDB_SCHEMA_EMPTY p-4 yui-text-quiet",
|
|
64450
64455
|
i18n: "no topics"
|
|
64451
64456
|
},
|
|
64452
64457
|
t("no topics", { defaultValue: "No topics" })
|
|
@@ -66520,7 +66525,7 @@ function build_ui$1(gobj) {
|
|
|
66520
66525
|
],
|
|
66521
66526
|
[
|
|
66522
66527
|
"div",
|
|
66523
|
-
{ class: "SCHEMA_NOTICE p-4
|
|
66528
|
+
{ class: "SCHEMA_NOTICE p-4 yui-text-quiet is-hidden" },
|
|
66524
66529
|
[]
|
|
66525
66530
|
],
|
|
66526
66531
|
[
|
|
@@ -66820,7 +66825,7 @@ function show_notice(gobj, key, detail) {
|
|
|
66820
66825
|
]));
|
|
66821
66826
|
if (detail) $notice.appendChild(createElement2([
|
|
66822
66827
|
"span",
|
|
66823
|
-
{ class: "SCHEMA_NOTICE_DETAIL
|
|
66828
|
+
{ class: "SCHEMA_NOTICE_DETAIL yui-text-quiet ml-2" },
|
|
66824
66829
|
`${detail}`
|
|
66825
66830
|
]));
|
|
66826
66831
|
}
|
|
@@ -66942,7 +66947,7 @@ function render_toolbar(gobj) {
|
|
|
66942
66947
|
}
|
|
66943
66948
|
$left.push([
|
|
66944
66949
|
"nav",
|
|
66945
|
-
{ class: "SCHEMA_CRUMBS is-size-7
|
|
66950
|
+
{ class: "SCHEMA_CRUMBS is-size-7 yui-text-quiet ml-1" },
|
|
66946
66951
|
$trail
|
|
66947
66952
|
]);
|
|
66948
66953
|
let $right = [];
|
|
@@ -67198,7 +67203,7 @@ function render_topics(gobj, $body) {
|
|
|
67198
67203
|
],
|
|
67199
67204
|
ambiguous ? [
|
|
67200
67205
|
"div",
|
|
67201
|
-
{ class: "SCHEMA_TOPIC_ID is-size-7
|
|
67206
|
+
{ class: "SCHEMA_TOPIC_ID is-size-7 yui-text-quiet" },
|
|
67202
67207
|
[[
|
|
67203
67208
|
"code",
|
|
67204
67209
|
{},
|
|
@@ -67449,7 +67454,7 @@ function render_columns(gobj, $body) {
|
|
|
67449
67454
|
if (topic.cols.length === 0) $wrap.appendChild(createElement2([
|
|
67450
67455
|
"p",
|
|
67451
67456
|
{
|
|
67452
|
-
class: "SCHEMA_COLUMNS_EMPTY
|
|
67457
|
+
class: "SCHEMA_COLUMNS_EMPTY yui-text-quiet p-3",
|
|
67453
67458
|
i18n: "this topic has no column"
|
|
67454
67459
|
},
|
|
67455
67460
|
t("this topic has no column")
|
|
@@ -67561,7 +67566,7 @@ function column_row(gobj, topic, col, index, readonly, twice) {
|
|
|
67561
67566
|
{ class: "SCHEMA_COL_HANDLE" },
|
|
67562
67567
|
readonly ? [] : [[
|
|
67563
67568
|
"span",
|
|
67564
|
-
{ class: "icon
|
|
67569
|
+
{ class: "icon yui-text-quiet" },
|
|
67565
67570
|
[["i", { class: "yi-grip-vertical" }]]
|
|
67566
67571
|
]]
|
|
67567
67572
|
],
|
|
@@ -67576,7 +67581,7 @@ function column_row(gobj, topic, col, index, readonly, twice) {
|
|
|
67576
67581
|
],
|
|
67577
67582
|
ambiguous ? [
|
|
67578
67583
|
"span",
|
|
67579
|
-
{ class: "SCHEMA_COL_ID is-size-7
|
|
67584
|
+
{ class: "SCHEMA_COL_ID is-size-7 yui-text-quiet ml-2" },
|
|
67580
67585
|
[[
|
|
67581
67586
|
"code",
|
|
67582
67587
|
{},
|
|
@@ -67918,7 +67923,7 @@ function flags_field(gobj, type, current) {
|
|
|
67918
67923
|
return [
|
|
67919
67924
|
"label",
|
|
67920
67925
|
el_attrs({
|
|
67921
|
-
class: "SCHEMA_FLAG checkbox " + (flag.meaningful ? "" : "SCHEMA_FLAG_DIM
|
|
67926
|
+
class: "SCHEMA_FLAG checkbox " + (flag.meaningful ? "" : "SCHEMA_FLAG_DIM yui-text-quiet-light"),
|
|
67922
67927
|
title: flag.desc ? t(flag.desc) : "",
|
|
67923
67928
|
"data-i18n-title": flag.desc || void 0
|
|
67924
67929
|
}),
|
|
@@ -67940,7 +67945,7 @@ function flags_field(gobj, type, current) {
|
|
|
67940
67945
|
[[
|
|
67941
67946
|
"p",
|
|
67942
67947
|
{
|
|
67943
|
-
class: "SCHEMA_FLAG_GROUP_NAME has-text-weight-semibold
|
|
67948
|
+
class: "SCHEMA_FLAG_GROUP_NAME has-text-weight-semibold yui-text-quiet",
|
|
67944
67949
|
i18n: group.group
|
|
67945
67950
|
},
|
|
67946
67951
|
t(group.group)
|
|
@@ -68634,7 +68639,7 @@ function render_import_plan(gobj, plan) {
|
|
|
68634
68639
|
{ class: "SCHEMA_IMPORT_SUMMARY" },
|
|
68635
68640
|
[[
|
|
68636
68641
|
"p",
|
|
68637
|
-
{ class: "SCHEMA_IMPORT_COUNT is-size-7
|
|
68642
|
+
{ class: "SCHEMA_IMPORT_COUNT is-size-7 yui-text-quiet mb-2" },
|
|
68638
68643
|
[
|
|
68639
68644
|
[
|
|
68640
68645
|
"span",
|
|
@@ -71169,7 +71174,7 @@ function build_days_grid(gobj, view, locale) {
|
|
|
71169
71174
|
let d = new Date(start.getFullYear(), start.getMonth(), start.getDate() + i);
|
|
71170
71175
|
$dow.push([
|
|
71171
71176
|
"div",
|
|
71172
|
-
{ class: "has-text-centered is-size-7
|
|
71177
|
+
{ class: "has-text-centered is-size-7 yui-text-quiet YUI_PERIOD_CAL_DOW" },
|
|
71173
71178
|
new Intl.DateTimeFormat(locale, { weekday: "narrow" }).format(d)
|
|
71174
71179
|
]);
|
|
71175
71180
|
}
|
|
@@ -71195,7 +71200,7 @@ function build_days_grid(gobj, view, locale) {
|
|
|
71195
71200
|
let $wk = createElement2([
|
|
71196
71201
|
"button",
|
|
71197
71202
|
{
|
|
71198
|
-
class: "button is-small is-ghost is-size-7
|
|
71203
|
+
class: "button is-small is-ghost is-size-7 yui-text-quiet YUI_PERIOD_CAL_WEEKNUM",
|
|
71199
71204
|
type: "button",
|
|
71200
71205
|
style: "width:100%;",
|
|
71201
71206
|
title: wk_name,
|
|
@@ -71213,7 +71218,7 @@ function build_days_grid(gobj, view, locale) {
|
|
|
71213
71218
|
let ts = d.getTime();
|
|
71214
71219
|
let selected = ts >= sel.from && ts <= sel.to;
|
|
71215
71220
|
let $btn = cell_button(gobj, d.getDate(), ts, selected, "YUI_PERIOD_CAL_DAY", day_name.format(d));
|
|
71216
|
-
if (d.getMonth() !== view.getMonth()) $btn.classList.add("
|
|
71221
|
+
if (d.getMonth() !== view.getMonth()) $btn.classList.add("yui-text-quiet-light");
|
|
71217
71222
|
if (day_number(d) === today) $btn.classList.add("has-text-weight-bold", "YUI_PERIOD_CAL_TODAY_CELL");
|
|
71218
71223
|
cells.push({
|
|
71219
71224
|
ts,
|
package/package.json
CHANGED
package/src/c_yui_form.css
CHANGED
|
@@ -42,9 +42,13 @@
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
/*--- readonly fields (e.g. the pkey in update mode) look readonly ---*/
|
|
45
|
+
/* The BACKGROUND and the cursor are what say "not editable"; the text
|
|
46
|
+
* is not dimmed for it. `--bulma-text-weak` on that background reads
|
|
47
|
+
* 4.07:1 in dark, under the 4.5 of small text -- and a value you may
|
|
48
|
+
* read but not change is exactly a value you have to be able to read. */
|
|
45
49
|
.C_YUI_FORM input.input[readonly] {
|
|
46
50
|
background-color: var(--bulma-background, #f5f5f5);
|
|
47
|
-
color: var(--bulma-text
|
|
51
|
+
color: var(--bulma-text, #2e333d);
|
|
48
52
|
border-color: var(--bulma-border, #dbdbdb);
|
|
49
53
|
cursor: default;
|
|
50
54
|
}
|
package/src/c_yui_gclass.js
CHANGED
|
@@ -439,7 +439,7 @@ function render_raw(gobj)
|
|
|
439
439
|
let description = gobj_read_attr(gobj, "description");
|
|
440
440
|
if(description === null || description === undefined) {
|
|
441
441
|
$raw.appendChild(createElement2(
|
|
442
|
-
['div', {class: 'GCLASS_EMPTY p-4
|
|
442
|
+
['div', {class: 'GCLASS_EMPTY p-4 yui-text-quiet',
|
|
443
443
|
i18n: 'no data'}, t("no data")]));
|
|
444
444
|
return;
|
|
445
445
|
}
|
|
@@ -450,7 +450,7 @@ function render_raw(gobj)
|
|
|
450
450
|
];
|
|
451
451
|
if(dump.capped) {
|
|
452
452
|
children.push(
|
|
453
|
-
['div', {class: 'GCLASS_RAW_CAPPED
|
|
453
|
+
['div', {class: 'GCLASS_RAW_CAPPED yui-text-quiet is-size-7 p-2',
|
|
454
454
|
i18n: 'text truncated'}, t("text truncated")]);
|
|
455
455
|
}
|
|
456
456
|
if(dump.error) {
|
|
@@ -484,7 +484,7 @@ function render_zones(gobj)
|
|
|
484
484
|
let model = priv.model;
|
|
485
485
|
if(!model) {
|
|
486
486
|
$zones.appendChild(createElement2(
|
|
487
|
-
['div', {class: 'GCLASS_EMPTY p-4
|
|
487
|
+
['div', {class: 'GCLASS_EMPTY p-4 yui-text-quiet',
|
|
488
488
|
i18n: 'no data'}, t("no data")]));
|
|
489
489
|
return;
|
|
490
490
|
}
|
package/src/c_yui_json.js
CHANGED
|
@@ -597,7 +597,7 @@ function render_graph(gobj)
|
|
|
597
597
|
teardown_graph_child(gobj);
|
|
598
598
|
$graph.textContent = "";
|
|
599
599
|
$graph.appendChild(createElement2(
|
|
600
|
-
['div', {class: 'JSON_EMPTY
|
|
600
|
+
['div', {class: 'JSON_EMPTY yui-text-quiet p-3', 'data-i18n': 'no data'}, 'no data']
|
|
601
601
|
));
|
|
602
602
|
refresh_language($graph, t);
|
|
603
603
|
return;
|
|
@@ -687,7 +687,7 @@ function render_text(gobj)
|
|
|
687
687
|
|
|
688
688
|
if(priv.root === null || priv.root === undefined) {
|
|
689
689
|
$text.appendChild(createElement2(
|
|
690
|
-
['div', {class: 'JSON_EMPTY
|
|
690
|
+
['div', {class: 'JSON_EMPTY yui-text-quiet p-3', 'data-i18n': 'no data'}, 'no data']
|
|
691
691
|
));
|
|
692
692
|
return;
|
|
693
693
|
}
|
|
@@ -736,7 +736,7 @@ function render_tree(gobj)
|
|
|
736
736
|
|
|
737
737
|
if(priv.root === null || priv.root === undefined) {
|
|
738
738
|
$tree.appendChild(createElement2(
|
|
739
|
-
['div', {class: 'JSON_EMPTY
|
|
739
|
+
['div', {class: 'JSON_EMPTY yui-text-quiet p-3', 'data-i18n': 'no data'}, 'no data']
|
|
740
740
|
));
|
|
741
741
|
return;
|
|
742
742
|
}
|
|
@@ -915,7 +915,7 @@ function toggle_row(gobj, key, size, is_object, depth, path, open, value)
|
|
|
915
915
|
body.push(['span', {class: 'JSON_KEY'}, String(key)]);
|
|
916
916
|
body.push(['span', {class: 'JSON_PUNCT'}, ': ']);
|
|
917
917
|
}
|
|
918
|
-
body.push(['span', {class: 'JSON_SUMMARY
|
|
918
|
+
body.push(['span', {class: 'JSON_SUMMARY yui-text-quiet'}, summary]);
|
|
919
919
|
|
|
920
920
|
/*
|
|
921
921
|
* A dict that carries an id says WHICH one it is, right here.
|
|
@@ -977,7 +977,7 @@ function leaf_row(key, value, depth)
|
|
|
977
977
|
if(key !== null && is_time_field(String(key))) {
|
|
978
978
|
let wall = format_epoch(value);
|
|
979
979
|
if(wall) {
|
|
980
|
-
body.push(['span', {class: 'JSON_TIME is-size-7
|
|
980
|
+
body.push(['span', {class: 'JSON_TIME is-size-7 yui-text-quiet ml-2'}, wall]);
|
|
981
981
|
}
|
|
982
982
|
}
|
|
983
983
|
|
package/src/c_yui_period.js
CHANGED
|
@@ -1055,7 +1055,7 @@ function build_days_grid(gobj, view, locale)
|
|
|
1055
1055
|
}
|
|
1056
1056
|
for(let i = 0; i < 7; i++) {
|
|
1057
1057
|
let d = new Date(start.getFullYear(), start.getMonth(), start.getDate() + i);
|
|
1058
|
-
$dow.push(["div", {class: "has-text-centered is-size-7
|
|
1058
|
+
$dow.push(["div", {class: "has-text-centered is-size-7 yui-text-quiet YUI_PERIOD_CAL_DOW"},
|
|
1059
1059
|
new Intl.DateTimeFormat(locale, {weekday: "narrow"}).format(d)]);
|
|
1060
1060
|
}
|
|
1061
1061
|
$rows.push(["div", {class: "YUI_PERIOD_CAL_WEEK",
|
|
@@ -1073,7 +1073,7 @@ function build_days_grid(gobj, view, locale)
|
|
|
1073
1073
|
let wk = iso_week(monday).week;
|
|
1074
1074
|
let wk_name = t("week {{n}}", {n: wk});
|
|
1075
1075
|
let $wk = createElement2(
|
|
1076
|
-
["button", {class: "button is-small is-ghost is-size-7
|
|
1076
|
+
["button", {class: "button is-small is-ghost is-size-7 yui-text-quiet " +
|
|
1077
1077
|
"YUI_PERIOD_CAL_WEEKNUM",
|
|
1078
1078
|
type: "button", style: "width:100%;",
|
|
1079
1079
|
title: wk_name, "aria-label": wk_name}, String(wk)]);
|
|
@@ -1093,7 +1093,7 @@ function build_days_grid(gobj, view, locale)
|
|
|
1093
1093
|
let $btn = cell_button(gobj, d.getDate(), ts, selected, "YUI_PERIOD_CAL_DAY",
|
|
1094
1094
|
day_name.format(d));
|
|
1095
1095
|
if(d.getMonth() !== view.getMonth()) {
|
|
1096
|
-
$btn.classList.add("
|
|
1096
|
+
$btn.classList.add("yui-text-quiet-light");
|
|
1097
1097
|
}
|
|
1098
1098
|
if(day_number(d) === today) {
|
|
1099
1099
|
$btn.classList.add("has-text-weight-bold", "YUI_PERIOD_CAL_TODAY_CELL");
|
|
@@ -319,7 +319,7 @@ function build_ui(gobj)
|
|
|
319
319
|
style: "height:100%; display:flex; flex-direction:column; min-height:0;"}, [
|
|
320
320
|
["div", {class: "SCHEMA_TOOLBAR is-flex is-align-items-center",
|
|
321
321
|
style: "gap:.25rem; padding:.25rem;"}, []],
|
|
322
|
-
["div", {class: "SCHEMA_NOTICE p-4
|
|
322
|
+
["div", {class: "SCHEMA_NOTICE p-4 yui-text-quiet is-hidden"}, []],
|
|
323
323
|
["div", {class: "SCHEMA_BODY", style: "flex:1 1 auto; min-height:0; overflow:auto;"}, []]
|
|
324
324
|
]]
|
|
325
325
|
);
|
|
@@ -721,7 +721,7 @@ function show_notice(gobj, key, detail)
|
|
|
721
721
|
));
|
|
722
722
|
if(detail) {
|
|
723
723
|
$notice.appendChild(createElement2(
|
|
724
|
-
["span", {class: "SCHEMA_NOTICE_DETAIL
|
|
724
|
+
["span", {class: "SCHEMA_NOTICE_DETAIL yui-text-quiet ml-2"}, `${detail}`]
|
|
725
725
|
));
|
|
726
726
|
}
|
|
727
727
|
}
|
|
@@ -800,7 +800,7 @@ function render_toolbar(gobj)
|
|
|
800
800
|
$trail.push(["span", {class: "SCHEMA_CRUMB_SEP"}, "/"]);
|
|
801
801
|
$trail.push(["span", {class: "SCHEMA_CRUMB_DIAGRAM", i18n: "diagram"}, t("diagram")]);
|
|
802
802
|
}
|
|
803
|
-
$left.push(["nav", {class: "SCHEMA_CRUMBS is-size-7
|
|
803
|
+
$left.push(["nav", {class: "SCHEMA_CRUMBS is-size-7 yui-text-quiet ml-1"}, $trail]);
|
|
804
804
|
|
|
805
805
|
/*----------------------------------------------*
|
|
806
806
|
* Right: what is legal HERE. A button that is not
|
|
@@ -1061,7 +1061,7 @@ function render_topics(gobj, $body)
|
|
|
1061
1061
|
i18n: "system"}, t("system")]
|
|
1062
1062
|
: ["span", {}, ""],
|
|
1063
1063
|
ambiguous
|
|
1064
|
-
? ["div", {class: "SCHEMA_TOPIC_ID is-size-7
|
|
1064
|
+
? ["div", {class: "SCHEMA_TOPIC_ID is-size-7 yui-text-quiet"},
|
|
1065
1065
|
[["code", {}, `${topic.id}`]]]
|
|
1066
1066
|
: ["span", {}, ""]
|
|
1067
1067
|
]],
|
|
@@ -1215,7 +1215,7 @@ function render_columns(gobj, $body)
|
|
|
1215
1215
|
|
|
1216
1216
|
if(topic.cols.length === 0) {
|
|
1217
1217
|
$wrap.appendChild(createElement2(
|
|
1218
|
-
["p", {class: "SCHEMA_COLUMNS_EMPTY
|
|
1218
|
+
["p", {class: "SCHEMA_COLUMNS_EMPTY yui-text-quiet p-3",
|
|
1219
1219
|
i18n: "this topic has no column"}, t("this topic has no column")]
|
|
1220
1220
|
));
|
|
1221
1221
|
}
|
|
@@ -1320,12 +1320,12 @@ function column_row(gobj, topic, col, index, readonly, twice)
|
|
|
1320
1320
|
["tr", {class: "SCHEMA_COL_ROW", "data-index": `${index}`,
|
|
1321
1321
|
draggable: readonly ? "false" : "true"}, [
|
|
1322
1322
|
["td", {class: "SCHEMA_COL_HANDLE"},
|
|
1323
|
-
readonly ? [] : [["span", {class: "icon
|
|
1323
|
+
readonly ? [] : [["span", {class: "icon yui-text-quiet"},
|
|
1324
1324
|
[["i", {class: "yi-grip-vertical"}]]]]],
|
|
1325
1325
|
["td", {class: "SCHEMA_COL_NAME"}, [
|
|
1326
1326
|
["code", {}, `${col.name}`],
|
|
1327
1327
|
ambiguous
|
|
1328
|
-
? ["span", {class: "SCHEMA_COL_ID is-size-7
|
|
1328
|
+
? ["span", {class: "SCHEMA_COL_ID is-size-7 yui-text-quiet ml-2"},
|
|
1329
1329
|
[["code", {}, `${col.id}`]]]
|
|
1330
1330
|
: ["span", {}, ""],
|
|
1331
1331
|
is_pkey
|
|
@@ -1640,7 +1640,7 @@ function flags_field(gobj, type, current)
|
|
|
1640
1640
|
for(let group of grouped_flags(type, current)) {
|
|
1641
1641
|
let $boxes = group.flags.map((flag) => {
|
|
1642
1642
|
return ["label", el_attrs({class: "SCHEMA_FLAG checkbox " +
|
|
1643
|
-
(flag.meaningful ? "" : "SCHEMA_FLAG_DIM
|
|
1643
|
+
(flag.meaningful ? "" : "SCHEMA_FLAG_DIM yui-text-quiet-light"),
|
|
1644
1644
|
title: flag.desc ? t(flag.desc) : "",
|
|
1645
1645
|
"data-i18n-title": flag.desc || undefined}), [
|
|
1646
1646
|
["input", el_attrs({type: "checkbox", class: "SCHEMA_FLAG_BOX",
|
|
@@ -1651,7 +1651,7 @@ function flags_field(gobj, type, current)
|
|
|
1651
1651
|
});
|
|
1652
1652
|
|
|
1653
1653
|
$groups.push(["div", {class: "SCHEMA_FLAG_GROUP mb-2"}, [
|
|
1654
|
-
["p", {class: "SCHEMA_FLAG_GROUP_NAME has-text-weight-semibold
|
|
1654
|
+
["p", {class: "SCHEMA_FLAG_GROUP_NAME has-text-weight-semibold yui-text-quiet",
|
|
1655
1655
|
i18n: group.group}, t(group.group)],
|
|
1656
1656
|
["div", {class: "SCHEMA_FLAG_LIST"}, $boxes]
|
|
1657
1657
|
]]);
|
|
@@ -2109,7 +2109,7 @@ function render_import_plan(gobj, plan)
|
|
|
2109
2109
|
|
|
2110
2110
|
$pane.appendChild(createElement2(
|
|
2111
2111
|
["div", {class: "SCHEMA_IMPORT_SUMMARY"}, [
|
|
2112
|
-
["p", {class: "SCHEMA_IMPORT_COUNT is-size-7
|
|
2112
|
+
["p", {class: "SCHEMA_IMPORT_COUNT is-size-7 yui-text-quiet mb-2"}, [
|
|
2113
2113
|
["span", {i18n: "writes"}, t("writes")],
|
|
2114
2114
|
["span", {class: "ml-1"}, `${plan.writes.length}`],
|
|
2115
2115
|
["span", {class: "ml-3", i18n: "deletions"}, t("deletions")],
|
package/src/c_yui_shell.css
CHANGED
|
@@ -269,8 +269,13 @@
|
|
|
269
269
|
.yui-nav-cards .yui-nav-card.is-active {
|
|
270
270
|
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #485fc7));
|
|
271
271
|
}
|
|
272
|
+
/* Dimmed, not erased. WCAG exempts a DISABLED control from its
|
|
273
|
+
* contrast minimum, and half opacity is 2.85:1 in light -- but a nav
|
|
274
|
+
* entry you cannot reach is one you still have to be able to READ, or
|
|
275
|
+
* it is a door with no sign. 0.7 is 4.96 and still plainly quieter
|
|
276
|
+
* than a live card at 12.67. */
|
|
272
277
|
.yui-nav-cards .yui-nav-card[data-disabled="1"] {
|
|
273
|
-
opacity: 0.
|
|
278
|
+
opacity: 0.7;
|
|
274
279
|
}
|
|
275
280
|
|
|
276
281
|
/*--- breadcrumb: the path as one line (C_YUI_NODE's `projection.path`) ---*/
|
|
@@ -521,6 +526,46 @@
|
|
|
521
526
|
white-space: nowrap;
|
|
522
527
|
}
|
|
523
528
|
|
|
529
|
+
/*============================================================
|
|
530
|
+
* Legibility: two rules the whole library leans on
|
|
531
|
+
*
|
|
532
|
+
* A PLACEHOLDER is text, and Bulma paints it with the text
|
|
533
|
+
* colour at 30% alpha: 2.47:1 on the dark scheme, 1.79 on
|
|
534
|
+
* the light one. It is what says what a box is FOR -- the
|
|
535
|
+
* graph's `search`, a form's hint -- so it is written at
|
|
536
|
+
* 70%: 7.96 and 4.95, and plainly still secondary. The
|
|
537
|
+
* `opacity: 1` is for Firefox, which dims a placeholder
|
|
538
|
+
* again on top of its colour.
|
|
539
|
+
*
|
|
540
|
+
* And `.yui-text-quiet` is what the library uses where it
|
|
541
|
+
* used to say `has-text-grey`: Bulma's grey is ONE mid tone
|
|
542
|
+
* for both schemes (3.86:1 on the dark one), and every use
|
|
543
|
+
* of it in here is text somebody has to read -- an empty
|
|
544
|
+
* state, a timestamp, a topic id, the detail of a notice.
|
|
545
|
+
* The text colour at 75% is the same intent, legible.
|
|
546
|
+
*============================================================*/
|
|
547
|
+
/* Bulma declares `--bulma-input-placeholder-color` INSIDE the
|
|
548
|
+
* `.input, .textarea, .select` block (its `.input::placeholder` rule
|
|
549
|
+
* reads it there), so a `:root` override never reaches it and a bare
|
|
550
|
+
* `input::placeholder` loses to Bulma's class selector. The variable
|
|
551
|
+
* is redefined where Bulma defines it, with the alpha it should have
|
|
552
|
+
* had: same hue, same lightness, 0.7 instead of 0.3. */
|
|
553
|
+
.input,
|
|
554
|
+
.textarea,
|
|
555
|
+
.select select {
|
|
556
|
+
--bulma-input-placeholder-color:
|
|
557
|
+
hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l), 0.7);
|
|
558
|
+
}
|
|
559
|
+
|
|
560
|
+
input::placeholder,
|
|
561
|
+
textarea::placeholder {
|
|
562
|
+
opacity: 1; /* Firefox dims a placeholder again, on top of its colour */
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
.yui-text-quiet {
|
|
566
|
+
opacity: 0.75;
|
|
567
|
+
}
|
|
568
|
+
|
|
524
569
|
/*============================================================
|
|
525
570
|
* Toolbar — type:"avatar"
|
|
526
571
|
* Circular badge populated by the host-registered provider
|
|
@@ -547,7 +547,7 @@ function build_graph(gobj)
|
|
|
547
547
|
let data = schema_to_graph(gobj);
|
|
548
548
|
if(data.nodes.length === 0) {
|
|
549
549
|
let $empty = createElement2(
|
|
550
|
-
['div', {class: 'TREEDB_SCHEMA_EMPTY p-4
|
|
550
|
+
['div', {class: 'TREEDB_SCHEMA_EMPTY p-4 yui-text-quiet',
|
|
551
551
|
i18n: 'no topics'}, t('no topics', {defaultValue: 'No topics'})]
|
|
552
552
|
);
|
|
553
553
|
$container.appendChild($empty);
|
|
@@ -1503,9 +1503,13 @@ function create_tabulator(gobj)
|
|
|
1503
1503
|
columns: columns,
|
|
1504
1504
|
selectableRows: selectable,
|
|
1505
1505
|
/* Row-count footer (updated on every data change below). */
|
|
1506
|
-
|
|
1506
|
+
/* No colour of its own: `#6b7280` was one grey written into
|
|
1507
|
+
* the html for both schemes, and on the dark footer it read
|
|
1508
|
+
* 3.29:1. It inherits the footer's, which tabulator.css
|
|
1509
|
+
* themes. */
|
|
1510
|
+
footerElement: "<span class='yui-tabulator-rowcount yui-text-quiet' " +
|
|
1507
1511
|
"style='display:block;text-align:right;font-size:0.8rem;" +
|
|
1508
|
-
"
|
|
1512
|
+
"padding:0 0.6rem;'></span>",
|
|
1509
1513
|
});
|
|
1510
1514
|
|
|
1511
1515
|
/*
|
|
@@ -1799,7 +1803,7 @@ function icon_formatter(cell)
|
|
|
1799
1803
|
* that mounts this table. */
|
|
1800
1804
|
return createElement2([
|
|
1801
1805
|
"span",
|
|
1802
|
-
{class: "ICON_CELL_UNKNOWN is-size-7
|
|
1806
|
+
{class: "ICON_CELL_UNKNOWN is-size-7 yui-text-quiet", title: name},
|
|
1803
1807
|
name
|
|
1804
1808
|
]);
|
|
1805
1809
|
}
|
|
@@ -197,8 +197,13 @@ function ensure_dock_style()
|
|
|
197
197
|
background: var(--bulma-scheme-main); color: var(--bulma-text); cursor: pointer; white-space: nowrap;
|
|
198
198
|
}
|
|
199
199
|
.yui-dock-chip:hover { border-color: var(--bulma-text-weak); }
|
|
200
|
-
|
|
201
|
-
.
|
|
200
|
+
/* The BORDER says active, not the text: blue ink on a blue tint is
|
|
201
|
+
* the same hue on itself -- 4.49:1 on the light chip, under the 4.5
|
|
202
|
+
* its 12px label needs. The label takes the text colour (11:1). */
|
|
203
|
+
.yui-dock-chip.is-active { border-color: #2563eb; color: var(--bulma-text, #2e333d); background: rgba(37,99,235,0.10); font-weight: 600; }
|
|
204
|
+
/* A minimised window is quieter, not unreadable: 0.65 is 4.3:1 on the
|
|
205
|
+
* light scheme for a 12px label. */
|
|
206
|
+
.yui-dock-chip.is-min { opacity: 0.7; }
|
|
202
207
|
.yui-dock-dot { width: 8px; height: 8px; border-radius: 50%; background: #22c55e; flex: 0 0 auto; }
|
|
203
208
|
.yui-dock-chip.is-min .yui-dock-dot { background: var(--bulma-text-weak); }
|
|
204
209
|
.yui-dock-icon { display: inline-flex; align-items: center; justify-content: center; width: 15px; height: 15px; font-size: 14px; flex: 0 0 auto; }
|
|
@@ -216,7 +221,7 @@ function ensure_dock_style()
|
|
|
216
221
|
}
|
|
217
222
|
.yui-dock-close:hover { background: #e0364a; color: #fff; }
|
|
218
223
|
.yui-dock-close svg { width: 11px; height: 11px; display: block; }
|
|
219
|
-
:root[data-theme="dark"] .yui-dock-chip.is-active { border-color: #60a5fa; color: #
|
|
224
|
+
:root[data-theme="dark"] .yui-dock-chip.is-active { border-color: #60a5fa; color: var(--bulma-text, #ebecf0); background: rgba(96,165,250,0.16); }
|
|
220
225
|
`;
|
|
221
226
|
let $style = document.createElement('style');
|
|
222
227
|
$style.id = 'yui-dock-style';
|
package/src/shell_route_map.css
CHANGED
|
@@ -177,6 +177,17 @@ a.ROUTEMAP_LINK .ROUTEMAP_NAME {
|
|
|
177
177
|
background: rgba(120, 150, 255, 0.16) !important;
|
|
178
178
|
outline-color: rgba(120, 150, 255, 0.55);
|
|
179
179
|
}
|
|
180
|
+
/* On the row you are ON, the route leaves the blue.
|
|
181
|
+
*
|
|
182
|
+
* The tint that marks the row and the ink of a route are the SAME
|
|
183
|
+
* HUE, so the ink lands on its own colour: 3.95:1 in light (the row
|
|
184
|
+
* is a saturated `--bulma-link-light`) and 4.42 in dark. The row is
|
|
185
|
+
* already marked by that tint and its outline, so the blue says
|
|
186
|
+
* nothing there -- and the NAME beside it has always been written
|
|
187
|
+
* in the text colour, at 5.89 and 6.59. The route joins it. */
|
|
188
|
+
.ROUTEMAP_CURRENT .ROUTEMAP_ROUTE {
|
|
189
|
+
color: var(--bulma-text, #2e333d);
|
|
190
|
+
}
|
|
180
191
|
/*--- reference row: this route's subtree is drawn where the nav owns
|
|
181
192
|
* it, so the copy reachable from a drawer or the account menu is a
|
|
182
193
|
* live link without the repeated branch. Quiet on purpose: it is a
|
package/src/shell_route_map.js
CHANGED
|
@@ -268,7 +268,7 @@ function build_body(shell, t)
|
|
|
268
268
|
* every keystroke, is what repaints it. */
|
|
269
269
|
let $count_n = createElement2(["span", {class: "ROUTEMAP_COUNT_N"}, ""]);
|
|
270
270
|
let $count = createElement2(
|
|
271
|
-
["span", {class: "ROUTEMAP_COUNT is-size-7
|
|
271
|
+
["span", {class: "ROUTEMAP_COUNT is-size-7 yui-text-quiet is-hidden"},
|
|
272
272
|
[$count_n]]
|
|
273
273
|
);
|
|
274
274
|
/* References are hidden by default and revealed by this toggle.
|
package/src/tabulator.css
CHANGED
|
@@ -227,9 +227,16 @@
|
|
|
227
227
|
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #4a9eff));
|
|
228
228
|
}
|
|
229
229
|
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
230
|
+
/* Tabulator's inputs are bare `input`s, so Bulma's placeholder colour
|
|
231
|
+
* never reaches them: in the light scheme they were left at the
|
|
232
|
+
* BROWSER's default (3.09:1) and in the dark one they were painted
|
|
233
|
+
* with `--bulma-text-weak` (4.07). One rule for every scheme, the same
|
|
234
|
+
* 70% of the text colour the rest of the library uses -- `filter
|
|
235
|
+
* column…` is what says what that box does. */
|
|
236
|
+
.tabulator-row .tabulator-cell.tabulator-editing input::placeholder,
|
|
237
|
+
.tabulator .tabulator-header .tabulator-header-filter input::placeholder {
|
|
238
|
+
color: hsla(var(--bulma-text-h), var(--bulma-text-s), var(--bulma-text-strong-l), 0.7);
|
|
239
|
+
opacity: 1;
|
|
233
240
|
}
|
|
234
241
|
|
|
235
242
|
/* ====================================================================
|
|
@@ -375,10 +382,6 @@
|
|
|
375
382
|
caret-color: var(--bulma-text-strong, #f5f6f7);
|
|
376
383
|
border-color: var(--bulma-link-on-scheme, var(--bulma-link, #4a9eff));
|
|
377
384
|
}
|
|
378
|
-
[data-theme=system] .tabulator-row .tabulator-cell.tabulator-editing input::placeholder,
|
|
379
|
-
[data-theme=system] .tabulator .tabulator-header .tabulator-header-filter input::placeholder {
|
|
380
|
-
color: var(--bulma-text-weak, #8a8f98);
|
|
381
|
-
}
|
|
382
385
|
/* same furniture-not-editor rule as [data-theme=dark] above */
|
|
383
386
|
[data-theme=system] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter input,
|
|
384
387
|
[data-theme=system] .tabulator .tabulator-header .tabulator-col .tabulator-header-filter select {
|
package/src/yui_graph_camera.js
CHANGED
|
@@ -110,7 +110,7 @@ export function yui_graph_camera_items(gobj, graph, wide)
|
|
|
110
110
|
return [
|
|
111
111
|
camera_button(gobj, "yi-magnifying-glass-plus", "EV_ZOOM_IN", "zoom in", wide),
|
|
112
112
|
camera_button(gobj, "yi-magnifying-glass-minus", "EV_ZOOM_OUT", "zoom out", wide),
|
|
113
|
-
['span', {class: 'GRAPH_ZOOM_LEVEL is-flex is-align-items-center px-2
|
|
113
|
+
['span', {class: 'GRAPH_ZOOM_LEVEL is-flex is-align-items-center px-2 yui-text-quiet',
|
|
114
114
|
style: 'font-size:.85rem; min-width:3.5em; justify-content:center;',
|
|
115
115
|
title: t('zoom level'), 'data-i18n-title': 'zoom level'},
|
|
116
116
|
yui_graph_zoom_text(graph)],
|