@yuneta/gobj-ui 7.23.145 → 7.23.147
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 +16 -2
- package/dist/gobj-ui.cjs.js +78 -9
- package/dist/gobj-ui.es.js +78 -9
- package/package.json +1 -1
- package/src/c_yui_json.css +0 -7
- package/src/c_yui_json.js +2 -2
- package/src/c_yui_schema_editor.js +1 -1
- package/src/c_yui_treedb_graph.js +82 -3
- package/src/yui_graph_camera.js +6 -7
- package/src/yui_icons.css +40 -0
package/README.md
CHANGED
|
@@ -497,8 +497,10 @@ cloned toolbar cannot drift apart again. The vocabulary is the treedb graph's
|
|
|
497
497
|
sprite and so cannot share the code, only the decisions): zoom in / zoom out, a
|
|
498
498
|
live **zoom readout**, `yi-fit` for fit — the same corner brackets the sprite
|
|
499
499
|
draws for `g6-icon-fit` — and the WRITTEN `1:1` for actual size, which is
|
|
500
|
-
written in every editor that offers it and never drawn. Fold is the
|
|
501
|
-
pair
|
|
500
|
+
written in every editor that offers it and never drawn. Fold is the
|
|
501
|
+
double-chevron pair (`yi-angles-down` / `yi-angles-up`, `7.23.147`), the same
|
|
502
|
+
as the lazy tree viewer's toolbar: not the single chevron of a node's handle,
|
|
503
|
+
which opens ONE node. The readout hangs off G6's
|
|
502
504
|
`aftertransform`, the one hook that also covers the wheel.
|
|
503
505
|
|
|
504
506
|
Both graph toolbars are arranged the same way (`7.23.7`): the **global**
|
|
@@ -1664,6 +1666,18 @@ forwards them as `EV_SET_HIDDEN_TOPICS`, `EV_SET_MAIN_TOPIC`,
|
|
|
1664
1666
|
`main topic`, `highlight topic`, `loose records`, `hidden topics`; `legend`
|
|
1665
1667
|
is no longer used.
|
|
1666
1668
|
|
|
1669
|
+
**The layout select has a stepper beside it** (`7.23.146`): ↑ and ↓
|
|
1670
|
+
(`yi-arrow-up` / `yi-arrow-down` since `7.23.147`, a shafted arrow steps a
|
|
1671
|
+
sequence; the fold stepper's level buttons are tree boxes, `yi-square-minus`
|
|
1672
|
+
/ `yi-square-plus`) step to
|
|
1673
|
+
the layout before or after the current one, in the order the engine offers
|
|
1674
|
+
them (`layout_names`), without opening the list. Layouts are picked by trying
|
|
1675
|
+
them one after another, and a list closes on every pick. The stepper reads the
|
|
1676
|
+
layout the engine is USING (its `layout` attr, which `auto_layout` can set),
|
|
1677
|
+
not the persisted choice, and disables the button at each end of the list. A
|
|
1678
|
+
press is `EV_STEP_LAYOUT {step}` (internal), which sends `EV_SET_LAYOUT` with
|
|
1679
|
+
the neighbour. Consumer i18n keys: `previous layout`, `next layout`.
|
|
1680
|
+
|
|
1667
1681
|
**The main topic's chip is not a disabled button** (`7.23.88`): it cannot be
|
|
1668
1682
|
hidden, so its body is a `div` wearing the `.button` skin — bold, at full
|
|
1669
1683
|
strength, with a gold star — and not a toggle painted at Bulma's half
|
package/dist/gobj-ui.cjs.js
CHANGED
|
@@ -11305,13 +11305,13 @@ function yui_graph_camera_items(gobj, graph, wide) {
|
|
|
11305
11305
|
];
|
|
11306
11306
|
}
|
|
11307
11307
|
/************************************************************
|
|
11308
|
-
* The fold pair: expand all, collapse all.
|
|
11309
|
-
*
|
|
11310
|
-
*
|
|
11311
|
-
*
|
|
11308
|
+
* The fold pair: expand all, collapse all. Double chevrons,
|
|
11309
|
+
* down and up -- the same pair the lazy tree viewer's toolbar
|
|
11310
|
+
* uses. Not the single chevron of a node's handle: that opens
|
|
11311
|
+
* ONE node, these act on all of them.
|
|
11312
11312
|
************************************************************/
|
|
11313
11313
|
function yui_graph_fold_items(gobj, wide) {
|
|
11314
|
-
return [camera_button(gobj, "yi-
|
|
11314
|
+
return [camera_button(gobj, "yi-angles-down", "EV_EXPAND_ALL", "expand all", wide), camera_button(gobj, "yi-angles-up", "EV_COLLAPSE_ALL", "collapse all", wide)];
|
|
11315
11315
|
}
|
|
11316
11316
|
/************************************************************
|
|
11317
11317
|
* The ANCHOR toggle: pick one element and every camera move
|
|
@@ -13851,7 +13851,7 @@ function make_toolbar$4(gobj) {
|
|
|
13851
13851
|
[yui_toolbar_icon("yi-magnifying-glass")]
|
|
13852
13852
|
]]
|
|
13853
13853
|
]);
|
|
13854
|
-
left_items.push(icon_button$1(gobj, "yi-
|
|
13854
|
+
left_items.push(icon_button$1(gobj, "yi-angles-down", "EV_EXPAND_ALL", "expand loaded"), icon_button$1(gobj, "yi-angles-up", "EV_COLLAPSE_ALL", "collapse all"));
|
|
13855
13855
|
attach_clear($search_control, $search_input);
|
|
13856
13856
|
left_items.push($search_control);
|
|
13857
13857
|
let right_items = [view_mode_switch$1(gobj), icon_button$1(gobj, "yi-copy", "EV_COPY_ALL", "copy json")];
|
|
@@ -64418,7 +64418,7 @@ function fold_level_items(gobj, wide) {
|
|
|
64418
64418
|
style: "margin:0; flex:0 0 auto; flex-wrap:nowrap; align-items:stretch;"
|
|
64419
64419
|
},
|
|
64420
64420
|
[
|
|
64421
|
-
step_button("GRAPH_FOLD_COLLAPSE", "yi-
|
|
64421
|
+
step_button("GRAPH_FOLD_COLLAPSE", "yi-square-minus", "collapse one level", "EV_COLLAPSE_LEVEL"),
|
|
64422
64422
|
[
|
|
64423
64423
|
"div",
|
|
64424
64424
|
{
|
|
@@ -64459,7 +64459,7 @@ function fold_level_items(gobj, wide) {
|
|
|
64459
64459
|
]
|
|
64460
64460
|
]
|
|
64461
64461
|
],
|
|
64462
|
-
step_button("GRAPH_FOLD_EXPAND", "yi-
|
|
64462
|
+
step_button("GRAPH_FOLD_EXPAND", "yi-square-plus", "expand one level", "EV_EXPAND_LEVEL")
|
|
64463
64463
|
]
|
|
64464
64464
|
]];
|
|
64465
64465
|
}
|
|
@@ -64485,6 +64485,40 @@ function refresh_fold_level(gobj) {
|
|
|
64485
64485
|
if ($collapse) $collapse.disabled = !(levels && level > 1);
|
|
64486
64486
|
if ($expand) $expand.disabled = !(levels && level < levels);
|
|
64487
64487
|
}
|
|
64488
|
+
function layout_step_button(gobj, cls, icon, key, step) {
|
|
64489
|
+
return [
|
|
64490
|
+
"button",
|
|
64491
|
+
{
|
|
64492
|
+
class: `${cls} button`,
|
|
64493
|
+
type: "button",
|
|
64494
|
+
style: {
|
|
64495
|
+
height: (0, _yuneta_gobj_js.gobj_read_str_attr)(gobj, "wide"),
|
|
64496
|
+
width: "2.5em"
|
|
64497
|
+
},
|
|
64498
|
+
disabled: true,
|
|
64499
|
+
title: (0, i18next.t)(key),
|
|
64500
|
+
"data-i18n-title": key,
|
|
64501
|
+
"aria-label": (0, i18next.t)(key),
|
|
64502
|
+
"data-i18n-aria-label": key
|
|
64503
|
+
},
|
|
64504
|
+
yui_toolbar_icon(icon),
|
|
64505
|
+
{ click: (evt) => {
|
|
64506
|
+
evt.stopPropagation();
|
|
64507
|
+
(0, _yuneta_gobj_js.gobj_send_event)(gobj, "EV_STEP_LAYOUT", { step }, gobj);
|
|
64508
|
+
} }
|
|
64509
|
+
];
|
|
64510
|
+
}
|
|
64511
|
+
function refresh_layout_stepper(gobj) {
|
|
64512
|
+
let priv = gobj.priv;
|
|
64513
|
+
let $container = priv.$container;
|
|
64514
|
+
if (!$container || !priv.gobj_nodes_tree) return;
|
|
64515
|
+
let names = (0, _yuneta_gobj_js.gobj_read_attr)(priv.gobj_nodes_tree, "layout_names") || [];
|
|
64516
|
+
let index = names.indexOf((0, _yuneta_gobj_js.gobj_read_str_attr)(priv.gobj_nodes_tree, "layout"));
|
|
64517
|
+
let $prev = $container.querySelector(".GRAPH_LAYOUT_PREV");
|
|
64518
|
+
let $next = $container.querySelector(".GRAPH_LAYOUT_NEXT");
|
|
64519
|
+
if ($prev) $prev.disabled = !(index > 0);
|
|
64520
|
+
if ($next) $next.disabled = !(index >= 0 && index < names.length - 1);
|
|
64521
|
+
}
|
|
64488
64522
|
function make_toolbar(gobj) {
|
|
64489
64523
|
let priv = gobj.priv;
|
|
64490
64524
|
let modes = (0, _yuneta_gobj_js.gobj_read_attr)(gobj, "operation_modes");
|
|
@@ -64522,6 +64556,14 @@ function make_toolbar(gobj) {
|
|
|
64522
64556
|
(0, _yuneta_gobj_js.gobj_send_event)(gobj, "EV_SET_LAYOUT", { layout: evt.target.value }, gobj);
|
|
64523
64557
|
} }
|
|
64524
64558
|
],
|
|
64559
|
+
[
|
|
64560
|
+
"div",
|
|
64561
|
+
{
|
|
64562
|
+
class: "GRAPH_LAYOUT_STEPPER buttons has-addons",
|
|
64563
|
+
style: "margin:0 0 0 .25rem; flex:0 0 auto; flex-wrap:nowrap; align-items:stretch;"
|
|
64564
|
+
},
|
|
64565
|
+
[layout_step_button(gobj, "GRAPH_LAYOUT_PREV", "yi-arrow-up", "previous layout", -1), layout_step_button(gobj, "GRAPH_LAYOUT_NEXT", "yi-arrow-down", "next layout", 1)]
|
|
64566
|
+
],
|
|
64525
64567
|
[
|
|
64526
64568
|
"span",
|
|
64527
64569
|
{
|
|
@@ -64868,6 +64910,7 @@ function populate_nodes_tree_options(gobj) {
|
|
|
64868
64910
|
}
|
|
64869
64911
|
let current_layout = (0, _yuneta_gobj_js.gobj_read_str_attr)(priv.gobj_nodes_tree, "layout");
|
|
64870
64912
|
if (current_layout) $layout_select.value = current_layout;
|
|
64913
|
+
refresh_layout_stepper(gobj);
|
|
64871
64914
|
}
|
|
64872
64915
|
let $operation_mode_select = $container.querySelector(".GRAPH_MODE_SELECT");
|
|
64873
64916
|
$operation_mode_select.value = priv.operation_mode;
|
|
@@ -65560,6 +65603,25 @@ function ac_set_layout(gobj, event, kw, src) {
|
|
|
65560
65603
|
let $layout_select = priv.$container.querySelector(".GRAPH_LAYOUT_SELECT");
|
|
65561
65604
|
$layout_select.value = priv.layout;
|
|
65562
65605
|
(0, _yuneta_gobj_js.gobj_send_event)(priv.gobj_nodes_tree, "EV_SET_LAYOUT", { layout }, gobj);
|
|
65606
|
+
refresh_layout_stepper(gobj);
|
|
65607
|
+
return 0;
|
|
65608
|
+
}
|
|
65609
|
+
/************************************************************
|
|
65610
|
+
* One press of the layout stepper (EV_STEP_LAYOUT {step}): the
|
|
65611
|
+
* layout before or after the one the engine is using, in the order
|
|
65612
|
+
* it offers them. The buttons are disabled at the ends, so a step
|
|
65613
|
+
* out of the list is a sender that did not read them.
|
|
65614
|
+
************************************************************/
|
|
65615
|
+
function ac_step_layout(gobj, event, kw, src) {
|
|
65616
|
+
let priv = gobj.priv;
|
|
65617
|
+
let step = kw && kw.step || 0;
|
|
65618
|
+
let names = (0, _yuneta_gobj_js.gobj_read_attr)(priv.gobj_nodes_tree, "layout_names") || [];
|
|
65619
|
+
let index = names.indexOf((0, _yuneta_gobj_js.gobj_read_str_attr)(priv.gobj_nodes_tree, "layout")) + step;
|
|
65620
|
+
if (step === 0 || index < 0 || index >= names.length) {
|
|
65621
|
+
(0, _yuneta_gobj_js.log_error)(`${(0, _yuneta_gobj_js.gobj_short_name)(gobj)}: layout step ${step} is out of the list`);
|
|
65622
|
+
return -1;
|
|
65623
|
+
}
|
|
65624
|
+
(0, _yuneta_gobj_js.gobj_send_event)(gobj, "EV_SET_LAYOUT", { layout: names[index] }, gobj);
|
|
65563
65625
|
return 0;
|
|
65564
65626
|
}
|
|
65565
65627
|
/************************************************************
|
|
@@ -65892,6 +65954,7 @@ function ac_layout_autoset(gobj, event, kw, src) {
|
|
|
65892
65954
|
let layout = kw && kw.layout || "";
|
|
65893
65955
|
if (!$select || !layout) return 0;
|
|
65894
65956
|
$select.value = layout;
|
|
65957
|
+
refresh_layout_stepper(gobj);
|
|
65895
65958
|
return 0;
|
|
65896
65959
|
}
|
|
65897
65960
|
/************************************************************
|
|
@@ -66168,6 +66231,11 @@ function create_gclass$3(gclass_name) {
|
|
|
66168
66231
|
ac_set_layout,
|
|
66169
66232
|
null
|
|
66170
66233
|
],
|
|
66234
|
+
[
|
|
66235
|
+
"EV_STEP_LAYOUT",
|
|
66236
|
+
ac_step_layout,
|
|
66237
|
+
null
|
|
66238
|
+
],
|
|
66171
66239
|
[
|
|
66172
66240
|
"EV_SET_OPERATION_MODE",
|
|
66173
66241
|
ac_set_operation_mode,
|
|
@@ -66272,6 +66340,7 @@ function create_gclass$3(gclass_name) {
|
|
|
66272
66340
|
["EV_RUN_NODE", 0],
|
|
66273
66341
|
["EV_CLOSE_WINDOW", 0],
|
|
66274
66342
|
["EV_SET_LAYOUT", 0],
|
|
66343
|
+
["EV_STEP_LAYOUT", 0],
|
|
66275
66344
|
["EV_SET_OPERATION_MODE", 0],
|
|
66276
66345
|
["EV_SET_FOCUS_TOPIC", 0],
|
|
66277
66346
|
["EV_FIND_NODES", 0],
|
|
@@ -69800,7 +69869,7 @@ function version_banner(gobj, topic) {
|
|
|
69800
69869
|
[[
|
|
69801
69870
|
"span",
|
|
69802
69871
|
{ class: "icon" },
|
|
69803
|
-
[["i", { class: "yi-
|
|
69872
|
+
[["i", { class: "yi-circle-up" }]]
|
|
69804
69873
|
], [
|
|
69805
69874
|
"span",
|
|
69806
69875
|
{ i18n: "raise" },
|
package/dist/gobj-ui.es.js
CHANGED
|
@@ -11300,13 +11300,13 @@ function yui_graph_camera_items(gobj, graph, wide) {
|
|
|
11300
11300
|
];
|
|
11301
11301
|
}
|
|
11302
11302
|
/************************************************************
|
|
11303
|
-
* The fold pair: expand all, collapse all.
|
|
11304
|
-
*
|
|
11305
|
-
*
|
|
11306
|
-
*
|
|
11303
|
+
* The fold pair: expand all, collapse all. Double chevrons,
|
|
11304
|
+
* down and up -- the same pair the lazy tree viewer's toolbar
|
|
11305
|
+
* uses. Not the single chevron of a node's handle: that opens
|
|
11306
|
+
* ONE node, these act on all of them.
|
|
11307
11307
|
************************************************************/
|
|
11308
11308
|
function yui_graph_fold_items(gobj, wide) {
|
|
11309
|
-
return [camera_button(gobj, "yi-
|
|
11309
|
+
return [camera_button(gobj, "yi-angles-down", "EV_EXPAND_ALL", "expand all", wide), camera_button(gobj, "yi-angles-up", "EV_COLLAPSE_ALL", "collapse all", wide)];
|
|
11310
11310
|
}
|
|
11311
11311
|
/************************************************************
|
|
11312
11312
|
* The ANCHOR toggle: pick one element and every camera move
|
|
@@ -13846,7 +13846,7 @@ function make_toolbar$4(gobj) {
|
|
|
13846
13846
|
[yui_toolbar_icon("yi-magnifying-glass")]
|
|
13847
13847
|
]]
|
|
13848
13848
|
]);
|
|
13849
|
-
left_items.push(icon_button$1(gobj, "yi-
|
|
13849
|
+
left_items.push(icon_button$1(gobj, "yi-angles-down", "EV_EXPAND_ALL", "expand loaded"), icon_button$1(gobj, "yi-angles-up", "EV_COLLAPSE_ALL", "collapse all"));
|
|
13850
13850
|
attach_clear($search_control, $search_input);
|
|
13851
13851
|
left_items.push($search_control);
|
|
13852
13852
|
let right_items = [view_mode_switch$1(gobj), icon_button$1(gobj, "yi-copy", "EV_COPY_ALL", "copy json")];
|
|
@@ -64413,7 +64413,7 @@ function fold_level_items(gobj, wide) {
|
|
|
64413
64413
|
style: "margin:0; flex:0 0 auto; flex-wrap:nowrap; align-items:stretch;"
|
|
64414
64414
|
},
|
|
64415
64415
|
[
|
|
64416
|
-
step_button("GRAPH_FOLD_COLLAPSE", "yi-
|
|
64416
|
+
step_button("GRAPH_FOLD_COLLAPSE", "yi-square-minus", "collapse one level", "EV_COLLAPSE_LEVEL"),
|
|
64417
64417
|
[
|
|
64418
64418
|
"div",
|
|
64419
64419
|
{
|
|
@@ -64454,7 +64454,7 @@ function fold_level_items(gobj, wide) {
|
|
|
64454
64454
|
]
|
|
64455
64455
|
]
|
|
64456
64456
|
],
|
|
64457
|
-
step_button("GRAPH_FOLD_EXPAND", "yi-
|
|
64457
|
+
step_button("GRAPH_FOLD_EXPAND", "yi-square-plus", "expand one level", "EV_EXPAND_LEVEL")
|
|
64458
64458
|
]
|
|
64459
64459
|
]];
|
|
64460
64460
|
}
|
|
@@ -64480,6 +64480,40 @@ function refresh_fold_level(gobj) {
|
|
|
64480
64480
|
if ($collapse) $collapse.disabled = !(levels && level > 1);
|
|
64481
64481
|
if ($expand) $expand.disabled = !(levels && level < levels);
|
|
64482
64482
|
}
|
|
64483
|
+
function layout_step_button(gobj, cls, icon, key, step) {
|
|
64484
|
+
return [
|
|
64485
|
+
"button",
|
|
64486
|
+
{
|
|
64487
|
+
class: `${cls} button`,
|
|
64488
|
+
type: "button",
|
|
64489
|
+
style: {
|
|
64490
|
+
height: gobj_read_str_attr(gobj, "wide"),
|
|
64491
|
+
width: "2.5em"
|
|
64492
|
+
},
|
|
64493
|
+
disabled: true,
|
|
64494
|
+
title: t(key),
|
|
64495
|
+
"data-i18n-title": key,
|
|
64496
|
+
"aria-label": t(key),
|
|
64497
|
+
"data-i18n-aria-label": key
|
|
64498
|
+
},
|
|
64499
|
+
yui_toolbar_icon(icon),
|
|
64500
|
+
{ click: (evt) => {
|
|
64501
|
+
evt.stopPropagation();
|
|
64502
|
+
gobj_send_event(gobj, "EV_STEP_LAYOUT", { step }, gobj);
|
|
64503
|
+
} }
|
|
64504
|
+
];
|
|
64505
|
+
}
|
|
64506
|
+
function refresh_layout_stepper(gobj) {
|
|
64507
|
+
let priv = gobj.priv;
|
|
64508
|
+
let $container = priv.$container;
|
|
64509
|
+
if (!$container || !priv.gobj_nodes_tree) return;
|
|
64510
|
+
let names = gobj_read_attr(priv.gobj_nodes_tree, "layout_names") || [];
|
|
64511
|
+
let index = names.indexOf(gobj_read_str_attr(priv.gobj_nodes_tree, "layout"));
|
|
64512
|
+
let $prev = $container.querySelector(".GRAPH_LAYOUT_PREV");
|
|
64513
|
+
let $next = $container.querySelector(".GRAPH_LAYOUT_NEXT");
|
|
64514
|
+
if ($prev) $prev.disabled = !(index > 0);
|
|
64515
|
+
if ($next) $next.disabled = !(index >= 0 && index < names.length - 1);
|
|
64516
|
+
}
|
|
64483
64517
|
function make_toolbar(gobj) {
|
|
64484
64518
|
let priv = gobj.priv;
|
|
64485
64519
|
let modes = gobj_read_attr(gobj, "operation_modes");
|
|
@@ -64517,6 +64551,14 @@ function make_toolbar(gobj) {
|
|
|
64517
64551
|
gobj_send_event(gobj, "EV_SET_LAYOUT", { layout: evt.target.value }, gobj);
|
|
64518
64552
|
} }
|
|
64519
64553
|
],
|
|
64554
|
+
[
|
|
64555
|
+
"div",
|
|
64556
|
+
{
|
|
64557
|
+
class: "GRAPH_LAYOUT_STEPPER buttons has-addons",
|
|
64558
|
+
style: "margin:0 0 0 .25rem; flex:0 0 auto; flex-wrap:nowrap; align-items:stretch;"
|
|
64559
|
+
},
|
|
64560
|
+
[layout_step_button(gobj, "GRAPH_LAYOUT_PREV", "yi-arrow-up", "previous layout", -1), layout_step_button(gobj, "GRAPH_LAYOUT_NEXT", "yi-arrow-down", "next layout", 1)]
|
|
64561
|
+
],
|
|
64520
64562
|
[
|
|
64521
64563
|
"span",
|
|
64522
64564
|
{
|
|
@@ -64863,6 +64905,7 @@ function populate_nodes_tree_options(gobj) {
|
|
|
64863
64905
|
}
|
|
64864
64906
|
let current_layout = gobj_read_str_attr(priv.gobj_nodes_tree, "layout");
|
|
64865
64907
|
if (current_layout) $layout_select.value = current_layout;
|
|
64908
|
+
refresh_layout_stepper(gobj);
|
|
64866
64909
|
}
|
|
64867
64910
|
let $operation_mode_select = $container.querySelector(".GRAPH_MODE_SELECT");
|
|
64868
64911
|
$operation_mode_select.value = priv.operation_mode;
|
|
@@ -65555,6 +65598,25 @@ function ac_set_layout(gobj, event, kw, src) {
|
|
|
65555
65598
|
let $layout_select = priv.$container.querySelector(".GRAPH_LAYOUT_SELECT");
|
|
65556
65599
|
$layout_select.value = priv.layout;
|
|
65557
65600
|
gobj_send_event(priv.gobj_nodes_tree, "EV_SET_LAYOUT", { layout }, gobj);
|
|
65601
|
+
refresh_layout_stepper(gobj);
|
|
65602
|
+
return 0;
|
|
65603
|
+
}
|
|
65604
|
+
/************************************************************
|
|
65605
|
+
* One press of the layout stepper (EV_STEP_LAYOUT {step}): the
|
|
65606
|
+
* layout before or after the one the engine is using, in the order
|
|
65607
|
+
* it offers them. The buttons are disabled at the ends, so a step
|
|
65608
|
+
* out of the list is a sender that did not read them.
|
|
65609
|
+
************************************************************/
|
|
65610
|
+
function ac_step_layout(gobj, event, kw, src) {
|
|
65611
|
+
let priv = gobj.priv;
|
|
65612
|
+
let step = kw && kw.step || 0;
|
|
65613
|
+
let names = gobj_read_attr(priv.gobj_nodes_tree, "layout_names") || [];
|
|
65614
|
+
let index = names.indexOf(gobj_read_str_attr(priv.gobj_nodes_tree, "layout")) + step;
|
|
65615
|
+
if (step === 0 || index < 0 || index >= names.length) {
|
|
65616
|
+
log_error(`${gobj_short_name(gobj)}: layout step ${step} is out of the list`);
|
|
65617
|
+
return -1;
|
|
65618
|
+
}
|
|
65619
|
+
gobj_send_event(gobj, "EV_SET_LAYOUT", { layout: names[index] }, gobj);
|
|
65558
65620
|
return 0;
|
|
65559
65621
|
}
|
|
65560
65622
|
/************************************************************
|
|
@@ -65887,6 +65949,7 @@ function ac_layout_autoset(gobj, event, kw, src) {
|
|
|
65887
65949
|
let layout = kw && kw.layout || "";
|
|
65888
65950
|
if (!$select || !layout) return 0;
|
|
65889
65951
|
$select.value = layout;
|
|
65952
|
+
refresh_layout_stepper(gobj);
|
|
65890
65953
|
return 0;
|
|
65891
65954
|
}
|
|
65892
65955
|
/************************************************************
|
|
@@ -66163,6 +66226,11 @@ function create_gclass$3(gclass_name) {
|
|
|
66163
66226
|
ac_set_layout,
|
|
66164
66227
|
null
|
|
66165
66228
|
],
|
|
66229
|
+
[
|
|
66230
|
+
"EV_STEP_LAYOUT",
|
|
66231
|
+
ac_step_layout,
|
|
66232
|
+
null
|
|
66233
|
+
],
|
|
66166
66234
|
[
|
|
66167
66235
|
"EV_SET_OPERATION_MODE",
|
|
66168
66236
|
ac_set_operation_mode,
|
|
@@ -66267,6 +66335,7 @@ function create_gclass$3(gclass_name) {
|
|
|
66267
66335
|
["EV_RUN_NODE", 0],
|
|
66268
66336
|
["EV_CLOSE_WINDOW", 0],
|
|
66269
66337
|
["EV_SET_LAYOUT", 0],
|
|
66338
|
+
["EV_STEP_LAYOUT", 0],
|
|
66270
66339
|
["EV_SET_OPERATION_MODE", 0],
|
|
66271
66340
|
["EV_SET_FOCUS_TOPIC", 0],
|
|
66272
66341
|
["EV_FIND_NODES", 0],
|
|
@@ -69795,7 +69864,7 @@ function version_banner(gobj, topic) {
|
|
|
69795
69864
|
[[
|
|
69796
69865
|
"span",
|
|
69797
69866
|
{ class: "icon" },
|
|
69798
|
-
[["i", { class: "yi-
|
|
69867
|
+
[["i", { class: "yi-circle-up" }]]
|
|
69799
69868
|
], [
|
|
69800
69869
|
"span",
|
|
69801
69870
|
{ i18n: "raise" },
|
package/package.json
CHANGED
package/src/c_yui_json.css
CHANGED
|
@@ -155,13 +155,6 @@
|
|
|
155
155
|
transform: rotate(90deg);
|
|
156
156
|
}
|
|
157
157
|
|
|
158
|
-
/* "Expand all" reuses the chevron (the only one available) rotated to point
|
|
159
|
-
* DOWN — the open state — while "collapse all" keeps it pointing right (the
|
|
160
|
-
* closed state), mirroring the per-node toggle. */
|
|
161
|
-
.C_YUI_JSON .EV_EXPAND_ALL i {
|
|
162
|
-
transform: rotate(90deg);
|
|
163
|
-
}
|
|
164
|
-
|
|
165
158
|
.C_YUI_JSON .JSON_TOGGLE_REMOTE i {
|
|
166
159
|
font-size: 0.8em;
|
|
167
160
|
color: var(--bulma-link-on-scheme, var(--bulma-link, #3273dc));
|
package/src/c_yui_json.js
CHANGED
|
@@ -399,8 +399,8 @@ function make_toolbar(gobj)
|
|
|
399
399
|
* place both graphs put theirs. It opens the whole document; the
|
|
400
400
|
* per-row toggles live in the rows. */
|
|
401
401
|
left_items.push(
|
|
402
|
-
icon_button(gobj, "yi-
|
|
403
|
-
icon_button(gobj, "yi-
|
|
402
|
+
icon_button(gobj, "yi-angles-down", "EV_EXPAND_ALL", "expand loaded"),
|
|
403
|
+
icon_button(gobj, "yi-angles-up", "EV_COLLAPSE_ALL", "collapse all")
|
|
404
404
|
);
|
|
405
405
|
|
|
406
406
|
attach_clear($search_control, $search_input);
|
|
@@ -1264,7 +1264,7 @@ function version_banner(gobj, topic)
|
|
|
1264
1264
|
title: t("raise the version"), "aria-label": t("raise the version"),
|
|
1265
1265
|
"data-i18n-title": "raise the version",
|
|
1266
1266
|
"data-i18n-aria-label": "raise the version"}, [
|
|
1267
|
-
["span", {class: "icon"}, [["i", {class: "yi-
|
|
1267
|
+
["span", {class: "icon"}, [["i", {class: "yi-circle-up"}]]],
|
|
1268
1268
|
["span", {i18n: "raise"}, t("raise")]
|
|
1269
1269
|
]]
|
|
1270
1270
|
]]
|
|
@@ -716,8 +716,9 @@ function fold_level_items(gobj, wide)
|
|
|
716
716
|
return [
|
|
717
717
|
['div', {class: 'GRAPH_FOLD_STEPPER buttons has-addons',
|
|
718
718
|
style: 'margin:0; flex:0 0 auto; flex-wrap:nowrap; align-items:stretch;'}, [
|
|
719
|
-
/*
|
|
720
|
-
|
|
719
|
+
/* Tree boxes, not the pills' chevrons: a pill opens ONE hook,
|
|
720
|
+
* this steps a LEVEL of the whole tree. */
|
|
721
|
+
step_button('GRAPH_FOLD_COLLAPSE', 'yi-square-minus',
|
|
721
722
|
'collapse one level', 'EV_COLLAPSE_LEVEL'),
|
|
722
723
|
/* A `div` with the button skin, like the legend's main
|
|
723
724
|
* chip: a readout between two buttons of one group, not
|
|
@@ -740,7 +741,7 @@ function fold_level_items(gobj, wide)
|
|
|
740
741
|
['span', {class: 'GRAPH_FOLD_COUNT',
|
|
741
742
|
style: 'font-variant-numeric:tabular-nums;'}, '–'],
|
|
742
743
|
]],
|
|
743
|
-
step_button('GRAPH_FOLD_EXPAND', 'yi-
|
|
744
|
+
step_button('GRAPH_FOLD_EXPAND', 'yi-square-plus',
|
|
744
745
|
'expand one level', 'EV_EXPAND_LEVEL'),
|
|
745
746
|
]],
|
|
746
747
|
];
|
|
@@ -783,6 +784,48 @@ function refresh_fold_level(gobj)
|
|
|
783
784
|
}
|
|
784
785
|
}
|
|
785
786
|
|
|
787
|
+
/* A button of the layout stepper: the layout before (`step` -1) or
|
|
788
|
+
* after (+1) the current one, in the order the engine offers them. */
|
|
789
|
+
function layout_step_button(gobj, cls, icon, key, step)
|
|
790
|
+
{
|
|
791
|
+
return ['button', {class: `${cls} button`, type: 'button',
|
|
792
|
+
style: {height: gobj_read_str_attr(gobj, "wide"), width: '2.5em'},
|
|
793
|
+
disabled: true,
|
|
794
|
+
title: t(key), 'data-i18n-title': key,
|
|
795
|
+
'aria-label': t(key), 'data-i18n-aria-label': key},
|
|
796
|
+
yui_toolbar_icon(icon),
|
|
797
|
+
{
|
|
798
|
+
click: (evt) => {
|
|
799
|
+
evt.stopPropagation();
|
|
800
|
+
gobj_send_event(gobj, "EV_STEP_LAYOUT", {step: step}, gobj);
|
|
801
|
+
}
|
|
802
|
+
}
|
|
803
|
+
];
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
/* Paint the layout stepper from the layout the engine is USING: it can
|
|
807
|
+
* differ from the persisted choice (auto_layout picks one for a treedb
|
|
808
|
+
* nobody arranged). The ends of the list disable their button. */
|
|
809
|
+
function refresh_layout_stepper(gobj)
|
|
810
|
+
{
|
|
811
|
+
let priv = gobj.priv;
|
|
812
|
+
let $container = priv.$container;
|
|
813
|
+
if(!$container || !priv.gobj_nodes_tree) {
|
|
814
|
+
return;
|
|
815
|
+
}
|
|
816
|
+
let names = gobj_read_attr(priv.gobj_nodes_tree, "layout_names") || [];
|
|
817
|
+
let index = names.indexOf(gobj_read_str_attr(priv.gobj_nodes_tree, "layout"));
|
|
818
|
+
|
|
819
|
+
let $prev = $container.querySelector('.GRAPH_LAYOUT_PREV');
|
|
820
|
+
let $next = $container.querySelector('.GRAPH_LAYOUT_NEXT');
|
|
821
|
+
if($prev) {
|
|
822
|
+
$prev.disabled = !(index > 0);
|
|
823
|
+
}
|
|
824
|
+
if($next) {
|
|
825
|
+
$next.disabled = !(index >= 0 && index < names.length - 1);
|
|
826
|
+
}
|
|
827
|
+
}
|
|
828
|
+
|
|
786
829
|
function make_toolbar(gobj)
|
|
787
830
|
{
|
|
788
831
|
let priv = gobj.priv;
|
|
@@ -833,6 +876,15 @@ function make_toolbar(gobj)
|
|
|
833
876
|
gobj_send_event(gobj, "EV_SET_LAYOUT", {layout: evt.target.value}, gobj);
|
|
834
877
|
}
|
|
835
878
|
}],
|
|
879
|
+
/* One step up or down the list without opening it: layouts are
|
|
880
|
+
* picked by trying them one after another, and a list closes on
|
|
881
|
+
* every pick. Born disabled, like the fold stepper: the options
|
|
882
|
+
* arrive with the child (populate_nodes_tree_options). */
|
|
883
|
+
['div', {class: 'GRAPH_LAYOUT_STEPPER buttons has-addons',
|
|
884
|
+
style: 'margin:0 0 0 .25rem; flex:0 0 auto; flex-wrap:nowrap; align-items:stretch;'}, [
|
|
885
|
+
layout_step_button(gobj, 'GRAPH_LAYOUT_PREV', 'yi-arrow-up', 'previous layout', -1),
|
|
886
|
+
layout_step_button(gobj, 'GRAPH_LAYOUT_NEXT', 'yi-arrow-down', 'next layout', 1),
|
|
887
|
+
]],
|
|
836
888
|
|
|
837
889
|
['span', {class: 'GRAPH_MODE_LABEL is-hidden-mobile', style: 'padding-left:10px; padding-right:5px;', i18n: 'operation mode'}, 'operation mode'],
|
|
838
890
|
['div', {class: 'select'}, [
|
|
@@ -1264,6 +1316,7 @@ function populate_nodes_tree_options(gobj)
|
|
|
1264
1316
|
if(current_layout) {
|
|
1265
1317
|
$layout_select.value = current_layout;
|
|
1266
1318
|
}
|
|
1319
|
+
refresh_layout_stepper(gobj);
|
|
1267
1320
|
}
|
|
1268
1321
|
|
|
1269
1322
|
// Restore persisted operation_mode selection
|
|
@@ -2558,7 +2611,30 @@ function ac_set_layout(gobj, event, kw, src)
|
|
|
2558
2611
|
},
|
|
2559
2612
|
gobj
|
|
2560
2613
|
);
|
|
2614
|
+
refresh_layout_stepper(gobj);
|
|
2615
|
+
|
|
2616
|
+
return 0;
|
|
2617
|
+
}
|
|
2618
|
+
|
|
2619
|
+
/************************************************************
|
|
2620
|
+
* One press of the layout stepper (EV_STEP_LAYOUT {step}): the
|
|
2621
|
+
* layout before or after the one the engine is using, in the order
|
|
2622
|
+
* it offers them. The buttons are disabled at the ends, so a step
|
|
2623
|
+
* out of the list is a sender that did not read them.
|
|
2624
|
+
************************************************************/
|
|
2625
|
+
function ac_step_layout(gobj, event, kw, src)
|
|
2626
|
+
{
|
|
2627
|
+
let priv = gobj.priv;
|
|
2628
|
+
|
|
2629
|
+
let step = (kw && kw.step) || 0;
|
|
2630
|
+
let names = gobj_read_attr(priv.gobj_nodes_tree, "layout_names") || [];
|
|
2631
|
+
let index = names.indexOf(gobj_read_str_attr(priv.gobj_nodes_tree, "layout")) + step;
|
|
2632
|
+
if(step === 0 || index < 0 || index >= names.length) {
|
|
2633
|
+
log_error(`${gobj_short_name(gobj)}: layout step ${step} is out of the list`);
|
|
2634
|
+
return -1;
|
|
2635
|
+
}
|
|
2561
2636
|
|
|
2637
|
+
gobj_send_event(gobj, "EV_SET_LAYOUT", {layout: names[index]}, gobj);
|
|
2562
2638
|
return 0;
|
|
2563
2639
|
}
|
|
2564
2640
|
|
|
@@ -3037,6 +3113,7 @@ function ac_layout_autoset(gobj, event, kw, src)
|
|
|
3037
3113
|
return 0;
|
|
3038
3114
|
}
|
|
3039
3115
|
$select.value = layout;
|
|
3116
|
+
refresh_layout_stepper(gobj);
|
|
3040
3117
|
return 0;
|
|
3041
3118
|
}
|
|
3042
3119
|
|
|
@@ -3308,6 +3385,7 @@ function create_gclass(gclass_name)
|
|
|
3308
3385
|
["EV_RUN_NODE", ac_run_node, null],
|
|
3309
3386
|
["EV_CLOSE_WINDOW", ac_close_window, null],
|
|
3310
3387
|
["EV_SET_LAYOUT", ac_set_layout, null],
|
|
3388
|
+
["EV_STEP_LAYOUT", ac_step_layout, null],
|
|
3311
3389
|
["EV_SET_OPERATION_MODE", ac_set_operation_mode, null],
|
|
3312
3390
|
["EV_SET_FOCUS_TOPIC", ac_set_focus_topic, null],
|
|
3313
3391
|
["EV_FIND_NODES", ac_find_nodes, null],
|
|
@@ -3353,6 +3431,7 @@ function create_gclass(gclass_name)
|
|
|
3353
3431
|
["EV_RUN_NODE", 0],
|
|
3354
3432
|
["EV_CLOSE_WINDOW", 0],
|
|
3355
3433
|
["EV_SET_LAYOUT", 0],
|
|
3434
|
+
["EV_STEP_LAYOUT", 0],
|
|
3356
3435
|
["EV_SET_OPERATION_MODE", 0],
|
|
3357
3436
|
["EV_SET_FOCUS_TOPIC", 0],
|
|
3358
3437
|
["EV_FIND_NODES", 0],
|
package/src/yui_graph_camera.js
CHANGED
|
@@ -181,17 +181,16 @@ export function yui_graph_camera_items(gobj, graph, wide)
|
|
|
181
181
|
}
|
|
182
182
|
|
|
183
183
|
/************************************************************
|
|
184
|
-
* The fold pair: expand all, collapse all.
|
|
185
|
-
*
|
|
186
|
-
*
|
|
187
|
-
*
|
|
184
|
+
* The fold pair: expand all, collapse all. Double chevrons,
|
|
185
|
+
* down and up -- the same pair the lazy tree viewer's toolbar
|
|
186
|
+
* uses. Not the single chevron of a node's handle: that opens
|
|
187
|
+
* ONE node, these act on all of them.
|
|
188
188
|
************************************************************/
|
|
189
189
|
export function yui_graph_fold_items(gobj, wide)
|
|
190
190
|
{
|
|
191
191
|
return [
|
|
192
|
-
camera_button(gobj, "yi-
|
|
193
|
-
|
|
194
|
-
camera_button(gobj, "yi-chevron-right", "EV_COLLAPSE_ALL", "collapse all", wide),
|
|
192
|
+
camera_button(gobj, "yi-angles-down", "EV_EXPAND_ALL", "expand all", wide),
|
|
193
|
+
camera_button(gobj, "yi-angles-up", "EV_COLLAPSE_ALL", "collapse all", wide),
|
|
195
194
|
];
|
|
196
195
|
}
|
|
197
196
|
|
package/src/yui_icons.css
CHANGED
|
@@ -404,3 +404,43 @@
|
|
|
404
404
|
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 64L480 160 352 256V192H64V128H352ZM160 256L32 352 160 448V384H448V320H160Z'/%3E%3C/svg%3E");
|
|
405
405
|
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M352 64L480 160 352 256V192H64V128H352ZM160 256L32 352 160 448V384H448V320H160Z'/%3E%3C/svg%3E");
|
|
406
406
|
}
|
|
407
|
+
|
|
408
|
+
/* --- One shape per meaning (FontAwesome Free 7.3.1, solid) ---
|
|
409
|
+
* A chevron opens or closes ONE thing, or scrolls; a shafted arrow
|
|
410
|
+
* steps through a sequence; a tree box steps one LEVEL of a tree;
|
|
411
|
+
* a double chevron acts on ALL of it. */
|
|
412
|
+
|
|
413
|
+
.yi-square-plus::before {
|
|
414
|
+
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM200 344l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z'/%3E%3C/svg%3E");
|
|
415
|
+
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zM200 344l0-64-64 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l64 0 0-64c0-13.3 10.7-24 24-24s24 10.7 24 24l0 64 64 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-64 0 0 64c0 13.3-10.7 24-24 24s-24-10.7-24-24z'/%3E%3C/svg%3E");
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
.yi-square-minus::before {
|
|
419
|
+
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm72 200l176 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-176 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z'/%3E%3C/svg%3E");
|
|
420
|
+
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm72 200l176 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-176 0c-13.3 0-24-10.7-24-24s10.7-24 24-24z'/%3E%3C/svg%3E");
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
.yi-angles-down::before {
|
|
424
|
+
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 402.7 329.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 210.7 329.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z'/%3E%3C/svg%3E");
|
|
425
|
+
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 470.6c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 402.7 329.4 265.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3l-160 160zm160-352l-160 160c-12.5 12.5-32.8 12.5-45.3 0l-160-160c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0L192 210.7 329.4 73.4c12.5-12.5 32.8-12.5 45.3 0s12.5 32.8 0 45.3z'/%3E%3C/svg%3E");
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
.yi-angles-up::before {
|
|
429
|
+
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3 329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 329.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z'/%3E%3C/svg%3E");
|
|
430
|
+
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 41.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 109.3 329.4 246.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160zm160 352l-160-160c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192 301.3 329.4 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z'/%3E%3C/svg%3E");
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
.yi-arrow-up::before {
|
|
434
|
+
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-370.7 105.4 105.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z'/%3E%3C/svg%3E");
|
|
435
|
+
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M214.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L160 109.3 160 480c0 17.7 14.3 32 32 32s32-14.3 32-32l0-370.7 105.4 105.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160z'/%3E%3C/svg%3E");
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
.yi-arrow-down::before {
|
|
439
|
+
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 370.7-105.4-105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E");
|
|
440
|
+
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M169.4 502.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 402.7 224 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 370.7-105.4-105.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E");
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
.yi-circle-up::before {
|
|
444
|
+
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm11.3-387.3l104 104c4.6 4.6 5.9 11.5 3.5 17.4S366.5 256 360 256l-56 0 0 96c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-96-56 0c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l104-104c6.2-6.2 16.4-6.2 22.6 0z'/%3E%3C/svg%3E");
|
|
445
|
+
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm11.3-387.3l104 104c4.6 4.6 5.9 11.5 3.5 17.4S366.5 256 360 256l-56 0 0 96c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-96-56 0c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.9 3.5-17.4l104-104c6.2-6.2 16.4-6.2 22.6 0z'/%3E%3C/svg%3E");
|
|
446
|
+
}
|