aleman 1.16.0 → 1.16.2
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/ChangeLog +11 -0
- package/menu/addons/{down.js → down/down.js} +8 -5
- package/menu/addons/down/fixture/down-fix.js +16 -0
- package/menu/addons/down/fixture/down.js +16 -0
- package/menu/addons/down/fixture/infinite-scroll-fix.js +16 -0
- package/menu/addons/down/fixture/infinite-scroll.js +16 -0
- package/menu/addons/index.js +1 -1
- package/menu/addons/j/fixture/infinite-scroll-fix.js +1 -1
- package/menu/addons/j/fixture/j-fix.js +1 -1
- package/menu/addons/j/fixture/submenu-fix.js +1 -1
- package/menu/addons/j/fixture/submenu-infinite-scroll-fix.js +16 -0
- package/menu/addons/j/fixture/submenu-infinite-scroll.js +16 -0
- package/menu/addons/j/j.js +9 -11
- package/menu/rules/build-menu/fixture/build-menu-fix.js +4 -4
- package/menu/rules/build-menu/fixture/icon-fix.js +4 -4
- package/menu/rules/build-menu/fixture/nested-fix.js +6 -6
- package/menu/rules/select/fixture/no-current.js +8 -0
- package/menu/rules/select/fixture/no-index.js +8 -0
- package/menu/rules/select/index.js +6 -0
- package/menu/rules/unselect-wrongly-selected/fixture/unselect-wrongly-selected-fix.js +10 -10
- package/package.json +1 -1
package/ChangeLog
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
2025.09.25, v1.16.2
|
|
2
|
+
|
|
3
|
+
fix:
|
|
4
|
+
- 1f21a8f aleman: menu: j: show submenu
|
|
5
|
+
|
|
6
|
+
2025.09.24, v1.16.1
|
|
7
|
+
|
|
8
|
+
feature:
|
|
9
|
+
- 8d33547 menu: addons: down: submenu: infiniteScroll
|
|
10
|
+
- 5aba427 aleman: menu: rules: select: index: -1
|
|
11
|
+
|
|
1
12
|
2025.09.23, v1.16.0
|
|
2
13
|
|
|
3
14
|
feature:
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {getSubmenu} from '
|
|
1
|
+
import {getSubmenu} from '../submenu/index.js';
|
|
2
2
|
|
|
3
3
|
export const keys = ['ArrowDown'];
|
|
4
4
|
export const preventDefault = true;
|
|
@@ -15,10 +15,10 @@ export const listener = ({state, options}) => {
|
|
|
15
15
|
const {menu, infiniteScroll} = options;
|
|
16
16
|
const n = Object.keys(menu).length - 1;
|
|
17
17
|
|
|
18
|
-
if (infiniteScroll && index === n ||
|
|
18
|
+
if (!insideSubmenu && (infiniteScroll && index === n || index < n))
|
|
19
19
|
++index;
|
|
20
20
|
|
|
21
|
-
if (infiniteScroll && index > n)
|
|
21
|
+
if (!insideSubmenu && infiniteScroll && index > n)
|
|
22
22
|
index -= n + 1;
|
|
23
23
|
|
|
24
24
|
const submenu = getSubmenu({
|
|
@@ -28,8 +28,11 @@ export const listener = ({state, options}) => {
|
|
|
28
28
|
|
|
29
29
|
const submenuCount = Object.keys(submenu).length - 1;
|
|
30
30
|
|
|
31
|
-
if (insideSubmenu
|
|
32
|
-
|
|
31
|
+
if (insideSubmenu)
|
|
32
|
+
if (submenuIndex < submenuCount)
|
|
33
|
+
++submenuIndex;
|
|
34
|
+
else if (infiniteScroll && submenuIndex === submenuCount)
|
|
35
|
+
submenuIndex = 0;
|
|
33
36
|
|
|
34
37
|
const showSubmenu = submenuCount > -1;
|
|
35
38
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<ul data-name="menu" className="menu" style="left: 0px; top: 20px;">
|
|
2
|
+
<li data-menu-path="Upload" data-name="menu-item" className="menu-item icon icon-view">
|
|
3
|
+
<label data-menu-path="Upload">Upload</label>
|
|
4
|
+
</li>
|
|
5
|
+
<li data-menu-path="New" data-name="menu-item" className="menu-item icon icon-edit menu-submenu-show">
|
|
6
|
+
<label data-menu-path="New">New</label>
|
|
7
|
+
<ul data-name="menu" className="menu" style="left: 0px; top: 20px;">
|
|
8
|
+
<li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
|
|
9
|
+
<label data-menu-path="New.File">File</label>
|
|
10
|
+
</li>
|
|
11
|
+
<li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
|
|
12
|
+
<label data-menu-path="New.Directory">Directory</label>
|
|
13
|
+
</li>
|
|
14
|
+
</ul>
|
|
15
|
+
</li>
|
|
16
|
+
</ul>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<ul data-name="menu" className="menu">
|
|
2
|
+
<li data-menu-path="Upload" data-name="menu-item" className="menu-item icon icon-view">
|
|
3
|
+
<label data-menu-path="Upload">Upload</label>
|
|
4
|
+
</li>
|
|
5
|
+
<li data-menu-path="New" data-name="menu-item" className="menu-item icon icon-edit menu-submenu-show">
|
|
6
|
+
<label data-menu-path="New">New</label>
|
|
7
|
+
<ul data-name="menu" className="menu">
|
|
8
|
+
<li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view menu-item-selected">
|
|
9
|
+
<label data-menu-path="New.File">File</label>
|
|
10
|
+
</li>
|
|
11
|
+
<li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit">
|
|
12
|
+
<label data-menu-path="New.Directory">Directory</label>
|
|
13
|
+
</li>
|
|
14
|
+
</ul>
|
|
15
|
+
</li>
|
|
16
|
+
</ul>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<ul data-name="menu" className="menu" style="left: 0px; top: 20px;">
|
|
2
|
+
<li data-menu-path="Upload" data-name="menu-item" className="menu-item icon icon-view">
|
|
3
|
+
<label data-menu-path="Upload">Upload</label>
|
|
4
|
+
</li>
|
|
5
|
+
<li data-menu-path="New" data-name="menu-item" className="menu-item icon icon-edit menu-submenu-show">
|
|
6
|
+
<label data-menu-path="New">New</label>
|
|
7
|
+
<ul data-name="menu" className="menu" style="left: 0px; top: 20px;">
|
|
8
|
+
<li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
|
|
9
|
+
<label data-menu-path="New.File">File</label>
|
|
10
|
+
</li>
|
|
11
|
+
<li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
|
|
12
|
+
<label data-menu-path="New.Directory">Directory</label>
|
|
13
|
+
</li>
|
|
14
|
+
</ul>
|
|
15
|
+
</li>
|
|
16
|
+
</ul>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<ul data-name="menu" className="menu">
|
|
2
|
+
<li data-menu-path="Upload" data-name="menu-item" className="menu-item icon icon-view">
|
|
3
|
+
<label data-menu-path="Upload">Upload</label>
|
|
4
|
+
</li>
|
|
5
|
+
<li data-menu-path="New" data-name="menu-item" className="menu-item icon icon-edit menu-submenu-show">
|
|
6
|
+
<label data-menu-path="New">New</label>
|
|
7
|
+
<ul data-name="menu" className="menu">
|
|
8
|
+
<li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
|
|
9
|
+
<label data-menu-path="New.File">File</label>
|
|
10
|
+
</li>
|
|
11
|
+
<li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
|
|
12
|
+
<label data-menu-path="New.Directory">Directory</label>
|
|
13
|
+
</li>
|
|
14
|
+
</ul>
|
|
15
|
+
</li>
|
|
16
|
+
</ul>;
|
package/menu/addons/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as click from './click/click.js';
|
|
2
2
|
import * as escape from './escape/escape.js';
|
|
3
|
-
import * as down from './down.js';
|
|
3
|
+
import * as down from './down/down.js';
|
|
4
4
|
import * as up from './up.js';
|
|
5
5
|
import * as enter from './enter/enter.js';
|
|
6
6
|
import * as left from './left.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<ul data-name="menu" className="menu" style="left: 0px; top: 20px;">
|
|
2
|
-
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view menu-item-selected">
|
|
2
|
+
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view menu-item-selected menu-submenu-show">
|
|
3
3
|
<label data-menu-path="View">View</label>
|
|
4
4
|
</li>
|
|
5
5
|
<li data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit">
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view">
|
|
3
3
|
<label data-menu-path="View">View</label>
|
|
4
4
|
</li>
|
|
5
|
-
<li data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit menu-item-selected">
|
|
5
|
+
<li data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit menu-item-selected menu-submenu-show">
|
|
6
6
|
<label data-menu-path="Edit">Edit</label>
|
|
7
7
|
</li>
|
|
8
8
|
</ul>;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view">
|
|
3
3
|
<label data-menu-path="View">View</label>
|
|
4
4
|
</li>
|
|
5
|
-
<li data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit menu-item-selected">
|
|
5
|
+
<li data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit menu-item-selected menu-submenu-show">
|
|
6
6
|
<label data-menu-path="Edit">Edit</label>
|
|
7
7
|
</li>
|
|
8
8
|
</ul>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<ul data-name="menu" className="menu" style="left: 0px; top: 20px">
|
|
2
|
+
<li data-menu-path="Upload" data-name="menu-item" className="menu-item icon icon-view">
|
|
3
|
+
<label data-menu-path="Upload">Upload</label>
|
|
4
|
+
</li>
|
|
5
|
+
<li data-menu-path="New" className="menu-item icon icon-edit menu-submenu menu-submenu-show">
|
|
6
|
+
<label data-menu-path="New">New</label>
|
|
7
|
+
<ul data-name="menu" className="menu" style="left: 0px; top: 20px;">
|
|
8
|
+
<li data-menu-path="New.File" data-menu-index="0" data-name="menu-item" className="menu-item icon icon-view">
|
|
9
|
+
<label data-menu-path="New.File">File</label>
|
|
10
|
+
</li>
|
|
11
|
+
<li data-menu-path="New.Directory" data-menu-index="1" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
|
|
12
|
+
<label data-menu-path="New.Directory">Directory</label>
|
|
13
|
+
</li>
|
|
14
|
+
</ul>
|
|
15
|
+
</li>
|
|
16
|
+
</ul>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<ul data-name="menu" className="menu" style="left: 0px; top: 20px">
|
|
2
|
+
<li data-menu-path="Upload" data-name="menu-item" className="menu-item icon icon-view">
|
|
3
|
+
<label data-menu-path="Upload">Upload</label>
|
|
4
|
+
</li>
|
|
5
|
+
<li data-menu-path="New" className="menu-item icon icon-edit menu-submenu menu-submenu-show menu-item-selected">
|
|
6
|
+
<label data-menu-path="New">New</label>
|
|
7
|
+
<ul data-name="menu" className="menu">
|
|
8
|
+
<li data-menu-path="New.File" data-menu-index="0" data-name="menu-item" className="menu-item icon icon-view">
|
|
9
|
+
<label data-menu-path="New.File">File</label>
|
|
10
|
+
</li>
|
|
11
|
+
<li data-menu-path="New.Directory" data-menu-index="1" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
|
|
12
|
+
<label data-menu-path="New.Directory">Directory</label>
|
|
13
|
+
</li>
|
|
14
|
+
</ul>
|
|
15
|
+
</li>
|
|
16
|
+
</ul>;
|
package/menu/addons/j/j.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as down from '../down.js';
|
|
1
|
+
import * as down from '../down/down.js';
|
|
2
2
|
import {getSubmenu} from '../submenu/index.js';
|
|
3
3
|
|
|
4
4
|
export const {filter} = down;
|
|
@@ -13,29 +13,27 @@ export function listener({count, state, options}) {
|
|
|
13
13
|
} = state;
|
|
14
14
|
|
|
15
15
|
const menuCount = Object.keys(menu).length;
|
|
16
|
-
|
|
17
16
|
const submenuCount = Object.keys(getSubmenu({
|
|
18
17
|
index,
|
|
19
18
|
options,
|
|
20
19
|
})).length;
|
|
21
20
|
|
|
22
|
-
let newIndex = insideSubmenu ? index : index + count
|
|
21
|
+
let newIndex = insideSubmenu ? index : index + count;
|
|
23
22
|
let newSubmenuIndex = insideSubmenu ? submenuIndex + count : submenuIndex;
|
|
24
23
|
|
|
25
24
|
if (newIndex > menuCount - 1)
|
|
26
25
|
newIndex = infiniteScroll ? 0 : menuCount - 1;
|
|
27
26
|
|
|
28
|
-
if (newSubmenuIndex
|
|
27
|
+
if (infiniteScroll && newSubmenuIndex === submenuCount)
|
|
28
|
+
newSubmenuIndex = 0;
|
|
29
|
+
else if (newSubmenuIndex > submenuCount - 1)
|
|
29
30
|
newSubmenuIndex = submenuCount - 1;
|
|
30
31
|
|
|
31
|
-
const
|
|
32
|
-
|
|
32
|
+
const showSubmenu = submenuCount > -1;
|
|
33
|
+
|
|
34
|
+
return {
|
|
33
35
|
index: newIndex,
|
|
34
36
|
submenuIndex: newSubmenuIndex,
|
|
37
|
+
showSubmenu,
|
|
35
38
|
};
|
|
36
|
-
|
|
37
|
-
return down.listener({
|
|
38
|
-
state: newState,
|
|
39
|
-
options,
|
|
40
|
-
});
|
|
41
39
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<ul data-name="menu" class="menu menu-hidden">
|
|
2
2
|
<li data-name="menu-item" data-menu-index="0" className="menu-item" data-menu-path="hello">
|
|
3
|
-
|
|
4
|
-
</li>
|
|
3
|
+
<label data-menu-path="">hello</label>
|
|
4
|
+
</li>
|
|
5
5
|
<li data-name="menu-item" data-menu-index="1" className="menu-item" data-menu-path="world">
|
|
6
|
-
|
|
7
|
-
</li>
|
|
6
|
+
<label data-menu-path="">world</label>
|
|
7
|
+
</li>
|
|
8
8
|
</ul>;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<ul data-name="menu" class="menu menu-hidden">
|
|
2
2
|
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-hello" data-menu-path="hello">
|
|
3
|
-
|
|
4
|
-
</li>
|
|
3
|
+
<label data-menu-path="">hello</label>
|
|
4
|
+
</li>
|
|
5
5
|
<li data-name="menu-item" data-menu-index="1" className="menu-item icon icon-world" data-menu-path="world">
|
|
6
|
-
|
|
7
|
-
</li>
|
|
6
|
+
<label data-menu-path="">world</label>
|
|
7
|
+
</li>
|
|
8
8
|
</ul>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<ul data-name="menu" class="menu menu-hidden">
|
|
2
2
|
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-hello menu-submenu" data-menu-path="hello">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
<label data-menu-path="">hello</label>
|
|
4
|
+
<ul data-name="menu" className="menu menu-hidden">
|
|
5
|
+
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-world" data-menu-path="hello.world">
|
|
6
|
+
<label data-menu-path="">world</label>
|
|
7
|
+
</li>
|
|
8
|
+
</ul></li>
|
|
9
9
|
</ul>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<ul data-name="menu" class="menu menu-hidden">
|
|
2
|
+
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view menu-item-selected">
|
|
3
|
+
<label data-menu-path="View">View</label>
|
|
4
|
+
</li>
|
|
5
|
+
<li data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit">
|
|
6
|
+
<label data-menu-path="Edit">Edit</label>
|
|
7
|
+
</li>
|
|
8
|
+
</ul>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<ul data-name="menu" class="menu menu-hidden">
|
|
2
|
+
<li data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view menu-item-selected">
|
|
3
|
+
<label data-menu-path="View">View</label>
|
|
4
|
+
</li>
|
|
5
|
+
<li data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit">
|
|
6
|
+
<label data-menu-path="Edit">Edit</label>
|
|
7
|
+
</li>
|
|
8
|
+
</ul>;
|
|
@@ -37,6 +37,9 @@ export const traverse = ({options, push}) => ({
|
|
|
37
37
|
insideSubmenu,
|
|
38
38
|
} = options;
|
|
39
39
|
|
|
40
|
+
if (index < 0)
|
|
41
|
+
return;
|
|
42
|
+
|
|
40
43
|
if (!hasTagName(path, 'li'))
|
|
41
44
|
return;
|
|
42
45
|
|
|
@@ -60,6 +63,9 @@ export const traverse = ({options, push}) => ({
|
|
|
60
63
|
const current = children[index];
|
|
61
64
|
const next = children[index + 1];
|
|
62
65
|
|
|
66
|
+
if (!current)
|
|
67
|
+
return;
|
|
68
|
+
|
|
63
69
|
push({
|
|
64
70
|
path: current,
|
|
65
71
|
prev,
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// second selected
|
|
2
2
|
<ul data-name="menu" class="menu menu-hidden">
|
|
3
3
|
<li data-menu-path="Upload" data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view">
|
|
4
|
-
<label data-menu-path="Upload">Upload</label>
|
|
5
|
-
</li>
|
|
6
|
-
<li data-menu-path="New" data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit menu-item-selected">
|
|
7
|
-
<label data-menu-path="New">New</label>
|
|
8
|
-
<ul data-name="menu" class="menu menu-hidden">
|
|
9
|
-
<li data-menu-path="New.File" data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view menu-item-selected">
|
|
10
4
|
<label data-menu-path="Upload">Upload</label>
|
|
11
5
|
</li>
|
|
12
|
-
|
|
13
|
-
<label data-menu-path="New
|
|
6
|
+
<li data-menu-path="New" data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit menu-item-selected">
|
|
7
|
+
<label data-menu-path="New">New</label>
|
|
8
|
+
<ul data-name="menu" class="menu menu-hidden">
|
|
9
|
+
<li data-menu-path="New.File" data-name="menu-item" data-menu-index="0" className="menu-item icon icon-view menu-item-selected">
|
|
10
|
+
<label data-menu-path="Upload">Upload</label>
|
|
11
|
+
</li>
|
|
12
|
+
<li data-menu-path="Directory" data-name="menu-item" data-menu-index="1" className="menu-item icon icon-edit">
|
|
13
|
+
<label data-menu-path="New.Directory">New</label>
|
|
14
|
+
</li>
|
|
15
|
+
</ul>
|
|
14
16
|
</li>
|
|
15
|
-
</ul>
|
|
16
|
-
</li>
|
|
17
17
|
</ul>;
|