aleman 1.4.6 → 1.4.8

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 CHANGED
@@ -1,3 +1,13 @@
1
+ 2025.09.09, v1.4.8
2
+
3
+ feature:
4
+ - d52cb43 aleman: menu: addClassMenu
5
+
6
+ 2025.09.09, v1.4.7
7
+
8
+ feature:
9
+ - 9a42900 elamen: menu: operator-jsx
10
+
1
11
  2025.09.09, v1.4.6
2
12
 
3
13
  feature:
package/menu/importmap.js CHANGED
@@ -1,6 +1,6 @@
1
1
  export const importmap = {
2
2
  imports: {
3
- 'putout': 'https://esm.sh/@putout/bundle@4.6.3',
3
+ 'putout': 'https://esm.sh/@putout/bundle@4.6.5',
4
4
  '@putout/processor-html': 'https://esm.sh/@putout/processor-html',
5
5
  'fullstore': 'https://esm.sh/fullstore',
6
6
  'jessy': 'https://esm.sh/jessy',
@@ -1 +1 @@
1
- <ul data-name="menu" class="menu menu-hidden"><li data-name='menu-item' className='menu-item' data-menu-path='hello'><label data-menu-path='hello'>hello</label></li><li data-name='menu-item' className='menu-item' data-menu-path='world'><label data-menu-path='world'>world</label></li></ul>;
1
+ <ul data-name="menu" class="menu menu-hidden"><li data-name="menu-item" className="menu-item" data-menu-path="hello"><label data-menu-path="hello">hello</label></li><li data-name="menu-item" className="menu-item" data-menu-path="world"><label data-menu-path="world">world</label></li></ul>;
@@ -1 +1 @@
1
- <ul data-name="menu" class="menu menu-hidden"><li data-name='menu-item' className="menu-item icon icon-hello" data-menu-path='hello'><label data-menu-path='hello'>hello</label></li><li data-name='menu-item' className="menu-item icon icon-world" data-menu-path='world'><label data-menu-path='world'>world</label></li></ul>;
1
+ <ul data-name="menu" class="menu menu-hidden"><li data-name="menu-item" className="menu-item icon icon-hello" data-menu-path="hello"><label data-menu-path="hello">hello</label></li><li data-name="menu-item" className="menu-item icon icon-world" data-menu-path="world"><label data-menu-path="world">world</label></li></ul>;
@@ -1 +1 @@
1
- <ul data-name="menu" class="menu menu-hidden"><li data-name='menu-item' className='menu-item icon icon-hello menu-submenu' data-menu-path='hello'><label data-menu-path='hello'>hello</label><ul data-name='menu' className='menu menu-hidden'><li data-name='menu-item' className="menu-item icon icon-world" data-menu-path='hello.world'><label data-menu-path='hello.world'>world</label></li></ul></li></ul>;
1
+ <ul data-name="menu" class="menu menu-hidden"><li data-name="menu-item" className="menu-item icon icon-hello menu-submenu" data-menu-path="hello"><label data-menu-path="hello">hello</label><ul data-name="menu" className="menu menu-hidden"><li data-name="menu-item" className="menu-item icon icon-world" data-menu-path="hello.world"><label data-menu-path="hello.world">world</label></li></ul></li></ul>;
@@ -1,6 +1,6 @@
1
- import {template} from 'putout';
1
+ import {template, operator} from 'putout';
2
2
  import {
3
- addAttributeValue,
3
+ addClassName,
4
4
  hasDataName,
5
5
  setAttributeValue,
6
6
  } from '../jsx-operator.js';
@@ -81,7 +81,7 @@ export const traverse = ({options, push}) => ({
81
81
  });
82
82
 
83
83
  function setSubmenu(menuItem) {
84
- addAttributeValue(menuItem, 'className', 'menu-submenu');
84
+ addClassName(menuItem, 'menu-submenu');
85
85
  }
86
86
 
87
87
  function setDataMenuPath(key, name, menuItem) {
@@ -90,7 +90,7 @@ function setDataMenuPath(key, name, menuItem) {
90
90
  }
91
91
 
92
92
  function setIcon(name, menuItem) {
93
- addAttributeValue(menuItem, 'className', `icon ${getIconName(name)}`);
93
+ addClassName(menuItem, `icon ${getIconName(name)}`);
94
94
  }
95
95
 
96
96
  function getIconName(name) {
@@ -99,3 +99,4 @@ function getIconName(name) {
99
99
  .replace(/\s/g, '-')
100
100
  .toLowerCase();
101
101
  }
102
+
@@ -3,7 +3,7 @@
3
3
  <li data-menu-path="Upload" data-name="menu-item" className="menu-item icon icon-view">
4
4
  <label data-menu-path="Upload">Upload</label>
5
5
  </li>
6
- <li data-menu-path="New" data-name="menu-item" className='menu-item icon icon-edit menu-item-selected'>
6
+ <li data-menu-path="New" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
7
7
  <label data-menu-path="New">New</label>
8
8
  <ul data-name="menu" className="menu menu-hidden">
9
9
  <li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
@@ -3,27 +3,10 @@ import {operator} from 'putout';
3
3
  const {
4
4
  setLiteralValue,
5
5
  getAttributeNode,
6
+ addAttributeValue,
7
+ getAttributeValue,
6
8
  } = operator;
7
9
 
8
- export function getAttributeValue(path, attributeName) {
9
- const attribute = getAttributeNode(path, attributeName);
10
-
11
- if (!attribute)
12
- return '';
13
-
14
- return attribute.value.value;
15
- }
16
-
17
- export function addAttributeValue(path, name, value) {
18
- const node = path.node || path;
19
- const attributeNode = getAttributeNode(node, name);
20
-
21
- if (attributeNode.value.value.includes(value))
22
- return;
23
-
24
- setLiteralValue(attributeNode.value, `${attributeNode.value.value} ${value}`);
25
- }
26
-
27
10
  export function setAttributeValue(node, name, value) {
28
11
  node = node.node || node;
29
12
 
@@ -1,3 +1,3 @@
1
1
  <sction data-name="aleman-hydrate-hello">
2
- <ul data-name="menu" className='menu menu-hidden'><li></li><li></li></ul>;
2
+ <ul data-name="menu" className="menu menu-hidden"><li></li><li></li></ul>;
3
3
  </sction>;
@@ -1 +1 @@
1
- <ul data-name="menu" className='menu'><li></li><li></li></ul>;
1
+ <ul data-name="menu" className="menu"><li></li><li></li></ul>;
@@ -1,8 +1,8 @@
1
1
  <ul data-name="menu" class="menu menu-hidden">
2
- <li data-name="menu-item" className='menu-item icon icon-view'>
2
+ <li data-name="menu-item" className="menu-item icon icon-view">
3
3
  <label data-menu-path="View">View</label>
4
4
  </li>
5
- <li data-name="menu-item" className='menu-item icon icon-edit menu-item-selected'>
5
+ <li data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
6
6
  <label data-menu-path="Edit">Edit</label>
7
7
  </li>
8
8
  </ul>;
@@ -1,8 +1,8 @@
1
1
  <ul data-name="menu" class="menu menu-hidden">
2
- <li data-name="menu-item" className='menu-item icon icon-view'>
2
+ <li data-name="menu-item" className="menu-item icon icon-view">
3
3
  <label data-menu-path="View">View</label>
4
4
  </li>
5
- <li data-name="menu-item" className='menu-item icon icon-edit menu-item-selected menu-submenu-show'>
5
+ <li data-name="menu-item" 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>;
@@ -1,2 +1,2 @@
1
- <ul data-name="menu" class="menu menu-hidden" style='left: 33px; top: 20px;'>
1
+ <ul data-name="menu" class="menu menu-hidden" style="left: 33px; top: 20px;">
2
2
  </ul>;
@@ -1,2 +1,2 @@
1
- <ul data-name="menu" class="menu menu-hidden" style='left: 33px; top: 20px;'>
1
+ <ul data-name="menu" class="menu menu-hidden" style="left: 33px; top: 20px;">
2
2
  </ul>;
@@ -1,11 +1,13 @@
1
1
  import {types, operator} from 'putout';
2
2
  import {
3
- getAttributeValue,
4
3
  hasDataName,
5
4
  setAttributeValue,
6
5
  } from '../jsx-operator.js';
7
6
 
8
- const {getAttributePath} = operator;
7
+ const {
8
+ getAttributeValue,
9
+ getAttributePath,
10
+ } = operator;
9
11
 
10
12
  const {
11
13
  stringLiteral,
@@ -74,3 +76,4 @@ function parsePosition(str) {
74
76
  Number(y),
75
77
  ];
76
78
  }
79
+
@@ -9,7 +9,7 @@
9
9
  <li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
10
10
  <label data-menu-path="New.File">File</label>
11
11
  </li>
12
- <li data-menu-path="New.Directory" data-name="menu-item" className='menu-item icon icon-edit'>
12
+ <li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit">
13
13
  <label data-menu-path="New.Directory">Directory</label>
14
14
  </li>
15
15
  </ul>
@@ -42,7 +42,7 @@
42
42
  <li data-menu-path="New" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
43
43
  <label data-menu-path="New">New</label>
44
44
  <ul data-name="menu" class="menu menu-hidden">
45
- <li data-menu-path="New.File" data-name="menu-item" className='menu-item icon icon-view'>
45
+ <li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
46
46
  <label data-menu-path="New.File">File</label>
47
47
  </li>
48
48
  <li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit">
@@ -9,7 +9,7 @@
9
9
  <li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
10
10
  <label data-menu-path="New.File">File</label>
11
11
  </li>
12
- <li data-menu-path="New.Directory" data-name="menu-item" className='menu-item icon icon-edit menu-item-selected'>
12
+ <li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
13
13
  <label data-menu-path="New.Directory">Directory</label>
14
14
  </li>
15
15
  </ul>
@@ -42,10 +42,10 @@
42
42
  <li data-menu-path="New" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
43
43
  <label data-menu-path="New">New</label>
44
44
  <ul data-name="menu" class="menu menu-hidden">
45
- <li data-menu-path="New.File" data-name="menu-item" className='menu-item icon icon-view'>
45
+ <li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
46
46
  <label data-menu-path="New.File">File</label>
47
47
  </li>
48
- <li data-menu-path="New.Directory" data-name="menu-item" className='menu-item icon icon-edit menu-item-selected'>
48
+ <li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit menu-item-selected">
49
49
  <label data-menu-path="New.Directory">Directory</label>
50
50
  </li>
51
51
  </ul>
@@ -1,13 +1,15 @@
1
1
  import {operator, types} from 'putout';
2
2
  import {
3
3
  addClassName,
4
- getAttributeValue,
5
4
  hasDataName,
6
5
  removeAttributeValue,
7
6
  removeClassName,
8
7
  } from '../jsx-operator.js';
9
8
 
10
- const {hasTagName} = operator;
9
+ const {
10
+ getAttributeValue,
11
+ hasTagName,
12
+ } = operator;
11
13
 
12
14
  const {isJSXElement} = types;
13
15
 
@@ -76,3 +78,4 @@ function unselect(path) {
76
78
 
77
79
  removeAttributeValue(path, 'className', 'menu-item-selected');
78
80
  }
81
+
@@ -3,13 +3,13 @@
3
3
  <li data-menu-path="Upload" data-name="menu-item" className="menu-item icon icon-view">
4
4
  <label data-menu-path="Upload">Upload</label>
5
5
  </li>
6
- <li data-menu-path="New" data-name="menu-item" className='menu-item icon icon-edit menu-submenu-show'>
6
+ <li data-menu-path="New" data-name="menu-item" className="menu-item icon icon-edit menu-submenu-show">
7
7
  <label data-menu-path="New">New</label>
8
8
  <ul data-name="menu" className="menu menu-hidden">
9
9
  <li data-menu-path="New.File" data-name="menu-item" className="menu-item icon icon-view">
10
10
  <label data-menu-path="New.File">File</label>
11
11
  </li>
12
- <li data-menu-path="New.Directory" data-name="menu-item" className='menu-item icon icon-edit'>
12
+ <li data-menu-path="New.Directory" data-name="menu-item" className="menu-item icon icon-edit">
13
13
  <label data-menu-path="New.Directory">Directory</label>
14
14
  </li>
15
15
  </ul>
@@ -1,8 +1,8 @@
1
1
  <ul data-name="menu" class="menu menu-hidden">
2
- <li data-name="menu-item" className='menu-item icon icon-view'>
2
+ <li data-name="menu-item" className="menu-item icon icon-view">
3
3
  <label data-menu-path="View">View</label>
4
4
  </li>
5
- <li data-name="menu-item" className='menu-item icon icon-edit'>
5
+ <li data-name="menu-item" className="menu-item icon icon-edit">
6
6
  <label data-menu-path="Edit">Edit</label>
7
7
  </li>
8
8
  </ul>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aleman",
3
- "version": "1.4.6",
3
+ "version": "1.4.8",
4
4
  "type": "module",
5
5
  "author": "coderaiser <mnemonic.enemy@gmail.com> (https://github.com/coderaiser)",
6
6
  "description": "🐊Putout-based framework for web",