@nuralyui/menu 0.0.9 → 0.0.15

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.
Files changed (57) hide show
  1. package/bundle.js +1305 -0
  2. package/index.d.ts +2 -0
  3. package/index.js.map +1 -1
  4. package/menu.component.d.ts +48 -13
  5. package/menu.component.js +256 -73
  6. package/menu.component.js.map +1 -1
  7. package/menu.style.js +316 -79
  8. package/menu.style.js.map +1 -1
  9. package/menu.types.d.ts +41 -1
  10. package/menu.types.js +6 -1
  11. package/menu.types.js.map +1 -1
  12. package/package.json +40 -5
  13. package/react.d.ts +4 -2
  14. package/react.js +7 -5
  15. package/react.js.map +1 -1
  16. package/demo/menus-demo.d.ts +0 -22
  17. package/demo/menus-demo.d.ts.map +0 -1
  18. package/demo/menus-demo.js +0 -157
  19. package/demo/menus-demo.js.map +0 -1
  20. package/index.d.ts.map +0 -1
  21. package/menu.component.d.ts.map +0 -1
  22. package/menu.constants.d.ts.map +0 -1
  23. package/menu.style.d.ts.map +0 -1
  24. package/menu.types.d.ts.map +0 -1
  25. package/react.d.ts.map +0 -1
  26. package/templates/hy-menu-link.d.ts +0 -29
  27. package/templates/hy-menu-link.d.ts.map +0 -1
  28. package/templates/hy-menu-link.js +0 -122
  29. package/templates/hy-menu-link.js.map +0 -1
  30. package/templates/hy-sub-menu.d.ts +0 -32
  31. package/templates/hy-sub-menu.d.ts.map +0 -1
  32. package/templates/hy-sub-menu.js +0 -121
  33. package/templates/hy-sub-menu.js.map +0 -1
  34. package/templates/menu-link.contants.d.ts +0 -5
  35. package/templates/menu-link.contants.d.ts.map +0 -1
  36. package/templates/menu-link.contants.js +0 -6
  37. package/templates/menu-link.contants.js.map +0 -1
  38. package/templates/menu-link.style.d.ts +0 -2
  39. package/templates/menu-link.style.d.ts.map +0 -1
  40. package/templates/menu-link.style.js +0 -98
  41. package/templates/menu-link.style.js.map +0 -1
  42. package/templates/sub-menu.style.d.ts +0 -2
  43. package/templates/sub-menu.style.d.ts.map +0 -1
  44. package/templates/sub-menu.style.js +0 -88
  45. package/templates/sub-menu.style.js.map +0 -1
  46. package/test/menu-link_test.d.ts +0 -2
  47. package/test/menu-link_test.d.ts.map +0 -1
  48. package/test/menu-link_test.js +0 -85
  49. package/test/menu-link_test.js.map +0 -1
  50. package/test/menu_test.d.ts +0 -2
  51. package/test/menu_test.d.ts.map +0 -1
  52. package/test/menu_test.js +0 -81
  53. package/test/menu_test.js.map +0 -1
  54. package/test/sub-menu_test.d.ts +0 -2
  55. package/test/sub-menu_test.d.ts.map +0 -1
  56. package/test/sub-menu_test.js +0 -72
  57. package/test/sub-menu_test.js.map +0 -1
package/menu.style.js CHANGED
@@ -1,85 +1,322 @@
1
1
  import { css } from 'lit';
2
2
  const menuStyle = css `
3
- ul {
4
- width: var(--hybrid-menu-width);
5
- padding: var(--hybrid-menu-padding);
6
- border: var(--hybrid-menu-border);
7
- font-size: var(--hybrid-menu-font-size);
8
- font-family: var(--hybrid-menu-font-family)
9
- }
3
+ /* Root menu container */
10
4
  :host {
11
- --hybrid-menu-font-size:13px;
12
- --hybrid-menu-font-family: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, Cantarell, "Noto Sans", sans-serif, "system-ui", "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, SFProLocalRange;
13
- --hybrid-menu-padding: 2px;
14
- --hybrid-menu-width: 45%;
15
- --hybrid-menu-border: 1px solid #f4f4f4;
16
- --hybrid-menu-link-color: #000000;
17
- --hybrid-menu-link-icon-color: #525252;
18
- --hybrid-menu-disabled-link-color: #c6c6c6;
19
- --hybrid-menu-focus-border: 1px solid #0f62fe;
20
- --hybrid-menu-focus-color: #000000;
21
- --hybrid-menu-active-color: #000000;
22
- --hybrid-menu-active-background-color: #e0e0e0;
23
- --hybrid-menu-hover-link-background-color: #f4f4f4;
24
- --hybrid-menu-hover-link-color: #000000;
25
- --hybrid-menu-selected-link-background-color: #e0e0e0;
26
- --hybrid-menu-selected-link-border: 3px solid #0f62fe;
27
- --hybrid-menu-selected-color: #000000;
28
- --hybrid-menu-link-background-color: transparent;
29
- --hybrid-menu-link-padding-y: 8px;
30
- --hybrid-menu-link-empty-icon-padding-left: 39px;
31
- --hybrid-menu-link-icon-padding-right: 15px;
32
- --hybrid-menu-link-icon-padding-left: 10px;
33
- --hybrid-menu-link-icon-right-padding-left: 39px;
34
- --hybrid-menu-link-icon-only-width: 42px;
35
- --hybrid-sub-menu-color: #000000;
36
- --hybrid-sub-menu-disabled-color: #c6c6c6;
37
- --hybrid-sub-menu-focus-color: #e0e0e0;
38
- --hybrid-sub-menu-focus-border: 1px solid #0f62fe;
39
- --hybrid-sub-menu-hover-background-color: #f4f4f4;
40
- --hybrid-sub-menu-hover-color: #161616;
41
- --hybrid-sub-menu-active-background-color: #c6c6c6;
42
- --hybrid-sub-menu-active-color: #000000;
43
- --hybrid-sub-menu-highlighted-color: #000000;
44
- --hybrid-sub-menu-highlighted-background-color: #e2e2e2;
45
- --hybrid-sub-menu-text-icon-color: #525252;
46
- --hybrid-sub-menu-action-icon-color:#525252;
47
- --hybrid-sub-menu-status-icon-color:#525252;
48
- --hybrid-sub-menu-toggle-icon-color: #525252;
49
- --hybrid-sub-menu-padding-y: 8px;
50
- --hybrid-sub-menu-margin-y: 0px;
51
- --hybrid-sub-menu-padding-left: 10px;
52
- --hybrid-sub-menu-padding-left-text: 5px;
53
- --hybrid-sub-menu-empty-icon-padding-left-text: 29px;
54
- --hybrid-sub-menu-children-padding-left: 15px;
55
- }
56
- @media (prefers-color-scheme: dark) {
57
- :host {
58
- --hybrid-menu-border: 1px solid #ffffff;
59
- --hybrid-menu-link-color:#ffffff;
60
- --hybrid-menu-focus-border: 1px solid #ffffff;
61
- --hybrid-menu-focus-color: #ffffff;
62
- --hybrid-menu-hover-link-background-color: #333333;
63
- --hybrid-menu-hover-link-color: #ffffff;
64
- --hybrid-menu-active-color: #ffffff;
65
- --hybrid-menu-active-background-color: #242424;
66
- --hybrid-menu-selected-link-border: 3px solid #ffffff;
67
- --hybrid-menu-selected-link-background-color: #3a3a3a;
68
- --hybrid-menu-selected-color:#ffffff;
69
- --hybrid-menu-disabled-link-color: #525252;
70
- --hybrid-sub-menu-color: #ffffff;
71
- --hybrid-sub-menu-disabled-color: #525252;
72
- --hybrid-sub-menu-focus-border: 1px solid #ffffff;
73
- --hybrid-sub-menu-focus-color: #525252;
74
- --hybrid-sub-menu-hover-background-color: #333333;
75
- --hybrid-sub-menu-hover-color: #ffffff;
76
- --hybrid-sub-menu-active-background-color: #242424;
77
- --hybrid-sub-menu-active-color: #ffffff;
78
- --hybrid-sub-menu-highlighted-color: #ffffff;
79
- --hybrid-sub-menu-highlighted-background-color: #3a3a3a;
80
- --hybrid-sub-menu-text-icon-color: #525252;
81
- --hybrid-sub-menu-toggle-icon-color: #525252;
82
- }
5
+ display: block;
6
+ }
7
+
8
+ .menu-root {
9
+ font-size: var(--nuraly-menu-font-size);
10
+ font-family: var(--nuraly-menu-font-family);
11
+ font-weight: var(--nuraly-menu-font-weight);
12
+ line-height: var(--nuraly-menu-line-height);
13
+ list-style: none;
14
+ margin: 0;
15
+ padding: 0;
16
+ }
17
+
18
+ /* Menu Link Styles */
19
+ .menu-link {
20
+ list-style: none;
21
+ display: flex;
22
+ align-items: center;
23
+ cursor: pointer;
24
+ padding: var(--nuraly-menu-link-padding-vertical) var(--nuraly-menu-link-padding-horizontal);
25
+ color: var(--nuraly-menu-link-color);
26
+ background-color: var(--nuraly-menu-link-background-color);
27
+ border-left: 4px solid transparent;
28
+ border-top: 2px solid transparent;
29
+ border-right: 2px solid transparent;
30
+ border-bottom: 2px solid transparent;
31
+ border-radius: var(--nuraly-menu-border-radius);
32
+ transition: background-color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing),
33
+ color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing),
34
+ border-color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing);
35
+ }
36
+
37
+ .menu-link.disabled {
38
+ color: var(--nuraly-menu-disabled-link-color);
39
+ cursor: not-allowed;
40
+ opacity: 0.6;
41
+ }
42
+
43
+ .menu-link:not(.disabled):not(.selected):hover {
44
+ background-color: var(--nuraly-menu-hover-link-background-color);
45
+ color: var(--nuraly-menu-hover-link-color);
46
+ }
47
+
48
+ .menu-link.selected {
49
+ background-color: var(--nuraly-menu-selected-link-background-color);
50
+ color: var(--nuraly-menu-selected-color);
51
+ border-left: var(--nuraly-menu-selected-link-border);
52
+ }
53
+
54
+ .menu-link:not(.disabled):not(.selected):focus {
55
+ outline: none;
56
+ border-left: 4px solid transparent;
57
+ border-top: var(--nuraly-menu-focus-border);
58
+ border-right: var(--nuraly-menu-focus-border);
59
+ border-bottom: var(--nuraly-menu-focus-border);
60
+ color: var(--nuraly-menu-focus-color);
61
+ }
62
+
63
+ .menu-link.selected:not(.disabled):focus {
64
+ outline: none;
65
+ border-left: var(--nuraly-menu-selected-link-border);
66
+ border-top: var(--nuraly-menu-focus-border);
67
+ border-right: var(--nuraly-menu-focus-border);
68
+ border-bottom: var(--nuraly-menu-focus-border);
69
+ color: var(--nuraly-menu-focus-color);
70
+ }
71
+
72
+ /* Focus-visible for keyboard navigation */
73
+ .menu-link:not(.disabled):focus-visible {
74
+ outline: none;
75
+ border-top: var(--nuraly-menu-focus-border);
76
+ border-right: var(--nuraly-menu-focus-border);
77
+ border-bottom: var(--nuraly-menu-focus-border);
78
+ }
79
+
80
+ .menu-link:not(.disabled):not(.selected):focus-visible {
81
+ border-left: var(--nuraly-menu-focus-border);
82
+ color: var(--nuraly-menu-focus-color);
83
+ }
84
+
85
+ .menu-link.selected:not(.disabled):focus-visible {
86
+ border-left: var(--nuraly-menu-selected-link-border) !important;
87
+ color: var(--nuraly-menu-focus-color);
88
+ }
89
+
90
+ .menu-link:not(.disabled):not(.selected):active {
91
+ color: var(--nuraly-menu-active-color);
92
+ background-color: var(--nuraly-menu-active-background-color);
93
+ }
94
+
95
+ .menu-link.selected:not(.disabled):active {
96
+ background-color: var(--nuraly-menu-active-background-color);
97
+ color: var(--nuraly-menu-active-color);
98
+ border-left: var(--nuraly-menu-selected-link-border) !important;
99
+ border-top: 2px solid transparent;
100
+ border-right: 2px solid transparent;
101
+ border-bottom: 2px solid transparent;
102
+ }
103
+
104
+ .menu-link .action-text-container {
105
+ width: 100%;
106
+ display: flex;
107
+ justify-content: space-between;
108
+ align-items: center;
109
+ position: relative;
110
+ }
111
+
112
+ .menu-link .text-container {
113
+ flex: 1;
114
+ min-width: 0;
115
+ }
116
+
117
+ .menu-link nr-icon {
118
+ display: flex;
119
+ align-items: center;
120
+ --nuraly-icon-color: var(--nuraly-menu-link-icon-color);
121
+ }
122
+
123
+ .menu-link nr-icon:first-child {
124
+ padding-right: var(--nuraly-menu-icon-padding-right);
125
+ padding-left: var(--nuraly-menu-icon-padding-left);
126
+ }
127
+
128
+ /* Sub Menu Styles */
129
+ .sub-menu {
130
+ display: flex;
131
+ flex-direction: column;
132
+ padding-left: 0;
133
+ list-style: none;
134
+ color: var(--nuraly-sub-menu-color);
135
+ }
136
+
137
+ .sub-menu.disabled .sub-menu-header {
138
+ color: var(--nuraly-sub-menu-disabled-color);
139
+ cursor: not-allowed;
140
+ opacity: 0.6;
141
+ }
142
+
143
+ .sub-menu.highlighted .sub-menu-header {
144
+ background-color: var(--nuraly-sub-menu-highlighted-background-color);
145
+ color: var(--nuraly-sub-menu-highlighted-color);
146
+ }
147
+
148
+ .sub-menu .sub-menu-header {
149
+ display: flex;
150
+ justify-content: space-between;
151
+ align-items: center;
152
+ cursor: pointer;
153
+ padding: var(--nuraly-sub-menu-padding-vertical) var(--nuraly-sub-menu-padding-horizontal);
154
+ border-left: 4px solid transparent;
155
+ border-top: 2px solid transparent;
156
+ border-right: 2px solid transparent;
157
+ border-bottom: 2px solid transparent;
158
+ border-radius: var(--nuraly-menu-border-radius);
159
+ transition: background-color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing),
160
+ color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing),
161
+ border-color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing);
162
+ }
163
+
164
+ .sub-menu .sub-menu-header span {
165
+ flex: 1;
166
+ min-width: 0;
167
+ padding-left: var(--nuraly-sub-menu-icon-padding-right);
168
+ }
169
+
170
+ .sub-menu .text-icon {
171
+ flex-shrink: 0;
172
+ }
173
+
174
+ .sub-menu .icons-container {
175
+ display: flex;
176
+ align-items: center;
177
+ gap: var(--nuraly-sub-menu-icon-padding-right);
178
+ position: relative;
179
+ flex-shrink: 0;
180
+ /* Reserve space for dropdown to prevent layout shift */
181
+ min-width: fit-content;
182
+ /* Fixed height to prevent vertical shifting */
183
+ height: 100%;
184
+ min-height: 24px;
185
+ }
186
+
187
+ .menu-link .icon-container {
188
+ display: flex;
189
+ align-items: center;
190
+ position: relative;
191
+ flex-shrink: 0;
192
+ /* Fixed height to prevent vertical shifting */
193
+ height: 100%;
194
+ min-height: 24px;
195
+ }
196
+
197
+ .sub-menu nr-dropdown,
198
+ .menu-link nr-dropdown {
199
+ /* Keep in normal flow but ensure it doesn't grow/shrink */
200
+ display: inline-flex;
201
+ flex-shrink: 0;
202
+ flex-grow: 0;
203
+ align-items: center;
204
+ vertical-align: middle;
205
+ }
206
+
207
+ .sub-menu .action-icon,
208
+ .menu-link .action-icon {
209
+ flex-shrink: 0;
210
+ cursor: pointer;
211
+ }
212
+
213
+ .sub-menu .action-icon {
214
+ --nuraly-icon-color: var(--nuraly-sub-menu-action-icon-color);
215
+ }
216
+
217
+ .sub-menu .status-icon {
218
+ --nuraly-icon-color: var(--nuraly-sub-menu-status-icon-color);
219
+ }
220
+
221
+ .sub-menu .text-icon {
222
+ --nuraly-icon-color: var(--nuraly-sub-menu-text-icon-color);
223
+ }
224
+
225
+ .sub-menu #toggle-icon {
226
+ --nuraly-icon-color: var(--nuraly-sub-menu-toggle-icon-color);
227
+ }
228
+
229
+ .sub-menu:not(.disabled):not(.selected) .sub-menu-header:focus {
230
+ outline: none;
231
+ border-left: 4px solid transparent;
232
+ border-top: var(--nuraly-sub-menu-focus-border);
233
+ border-right: var(--nuraly-sub-menu-focus-border);
234
+ border-bottom: var(--nuraly-sub-menu-focus-border);
235
+ color: var(--nuraly-sub-menu-focus-color);
236
+ }
237
+
238
+ .sub-menu.selected:not(.disabled) .sub-menu-header:focus {
239
+ outline: none;
240
+ border-left: var(--nuraly-menu-selected-link-border);
241
+ border-top: var(--nuraly-sub-menu-focus-border);
242
+ border-right: var(--nuraly-sub-menu-focus-border);
243
+ border-bottom: var(--nuraly-sub-menu-focus-border);
244
+ color: var(--nuraly-sub-menu-focus-color);
245
+ }
246
+
247
+ /* Focus-visible for keyboard navigation on submenus */
248
+ .sub-menu:not(.disabled) .sub-menu-header:focus-visible {
249
+ outline: none;
250
+ border-top: var(--nuraly-sub-menu-focus-border);
251
+ border-right: var(--nuraly-sub-menu-focus-border);
252
+ border-bottom: var(--nuraly-sub-menu-focus-border);
253
+ }
254
+
255
+ .sub-menu:not(.disabled):not(.selected) .sub-menu-header:focus-visible {
256
+ border-left: var(--nuraly-sub-menu-focus-border);
257
+ color: var(--nuraly-sub-menu-focus-color);
258
+ }
259
+
260
+ .sub-menu.selected:not(.disabled) .sub-menu-header:focus-visible {
261
+ border-left: var(--nuraly-menu-selected-link-border) !important;
262
+ color: var(--nuraly-sub-menu-focus-color);
263
+ }
264
+
265
+ .sub-menu:not(.disabled) .sub-menu-header:hover {
266
+ background-color: var(--nuraly-sub-menu-hover-background-color);
267
+ color: var(--nuraly-sub-menu-hover-color);
268
+ }
269
+
270
+ .sub-menu.selected:not(.disabled) .sub-menu-header {
271
+ background-color: var(--nuraly-menu-selected-link-background-color);
272
+ color: var(--nuraly-menu-selected-color);
273
+ border-left: var(--nuraly-menu-selected-link-border);
274
+ border-top: 2px solid transparent;
275
+ border-right: 2px solid transparent;
276
+ border-bottom: 2px solid transparent;
277
+ }
278
+
279
+ .sub-menu.selected:not(.disabled) .sub-menu-header:active {
280
+ background-color: var(--nuraly-sub-menu-active-background-color);
281
+ color: var(--nuraly-sub-menu-active-color);
282
+ border-left: var(--nuraly-menu-selected-link-border);
283
+ border-top: 2px solid transparent;
284
+ border-right: 2px solid transparent;
285
+ border-bottom: 2px solid transparent;
286
+ }
287
+
288
+ .sub-menu:not(.disabled):not(.selected) .sub-menu-header:active {
289
+ background-color: var(--nuraly-sub-menu-active-background-color);
290
+ color: var(--nuraly-sub-menu-active-color);
291
+ }
292
+
293
+ .sub-menu-children {
294
+ padding-left: var(--nuraly-sub-menu-nested-padding-left);
295
+ }
296
+
297
+ /* Size Variants */
298
+ .menu--small .menu-link {
299
+ padding: var(--nuraly-menu-link-padding-vertical-small) var(--nuraly-menu-link-padding-horizontal-small);
300
+ }
301
+
302
+ .menu--small .sub-menu .sub-menu-header {
303
+ padding: var(--nuraly-sub-menu-padding-vertical-small) var(--nuraly-sub-menu-padding-horizontal-small);
304
+ }
305
+
306
+ .menu--medium .menu-link {
307
+ padding: var(--nuraly-menu-link-padding-vertical-medium) var(--nuraly-menu-link-padding-horizontal-medium);
308
+ }
309
+
310
+ .menu--medium .sub-menu .sub-menu-header {
311
+ padding: var(--nuraly-sub-menu-padding-vertical-medium) var(--nuraly-sub-menu-padding-horizontal-medium);
312
+ }
313
+
314
+ .menu--large .menu-link {
315
+ padding: var(--nuraly-menu-link-padding-vertical-large) var(--nuraly-menu-link-padding-horizontal-large);
316
+ }
317
+
318
+ .menu--large .sub-menu .sub-menu-header {
319
+ padding: var(--nuraly-sub-menu-padding-vertical-large) var(--nuraly-sub-menu-padding-horizontal-large);
83
320
  }
84
321
  `;
85
322
  export const styles = [menuStyle];
package/menu.style.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"menu.style.js","sourceRoot":"","sources":["../../../src/components/menu/menu.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFpB,CAAC;AACF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC","sourcesContent":["import { css } from 'lit';\n\nconst menuStyle = css`\n ul {\n width: var(--hybrid-menu-width);\n padding: var(--hybrid-menu-padding);\n border: var(--hybrid-menu-border);\n font-size: var(--hybrid-menu-font-size);\n font-family: var(--hybrid-menu-font-family)\n }\n :host {\n --hybrid-menu-font-size:13px;\n --hybrid-menu-font-family: Inter, ui-sans-serif, system-ui, -apple-system, \"Segoe UI\", Roboto, Ubuntu, Cantarell, \"Noto Sans\", sans-serif, \"system-ui\", \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, SFProLocalRange;\n --hybrid-menu-padding: 2px;\n --hybrid-menu-width: 45%;\n --hybrid-menu-border: 1px solid #f4f4f4;\n --hybrid-menu-link-color: #000000;\n --hybrid-menu-link-icon-color: #525252;\n --hybrid-menu-disabled-link-color: #c6c6c6;\n --hybrid-menu-focus-border: 1px solid #0f62fe;\n --hybrid-menu-focus-color: #000000;\n --hybrid-menu-active-color: #000000;\n --hybrid-menu-active-background-color: #e0e0e0;\n --hybrid-menu-hover-link-background-color: #f4f4f4;\n --hybrid-menu-hover-link-color: #000000;\n --hybrid-menu-selected-link-background-color: #e0e0e0;\n --hybrid-menu-selected-link-border: 3px solid #0f62fe;\n --hybrid-menu-selected-color: #000000;\n --hybrid-menu-link-background-color: transparent;\n --hybrid-menu-link-padding-y: 8px;\n --hybrid-menu-link-empty-icon-padding-left: 39px;\n --hybrid-menu-link-icon-padding-right: 15px;\n --hybrid-menu-link-icon-padding-left: 10px;\n --hybrid-menu-link-icon-right-padding-left: 39px;\n --hybrid-menu-link-icon-only-width: 42px;\n --hybrid-sub-menu-color: #000000;\n --hybrid-sub-menu-disabled-color: #c6c6c6;\n --hybrid-sub-menu-focus-color: #e0e0e0;\n --hybrid-sub-menu-focus-border: 1px solid #0f62fe;\n --hybrid-sub-menu-hover-background-color: #f4f4f4;\n --hybrid-sub-menu-hover-color: #161616;\n --hybrid-sub-menu-active-background-color: #c6c6c6;\n --hybrid-sub-menu-active-color: #000000;\n --hybrid-sub-menu-highlighted-color: #000000;\n --hybrid-sub-menu-highlighted-background-color: #e2e2e2;\n --hybrid-sub-menu-text-icon-color: #525252;\n --hybrid-sub-menu-action-icon-color:#525252;\n --hybrid-sub-menu-status-icon-color:#525252;\n --hybrid-sub-menu-toggle-icon-color: #525252;\n --hybrid-sub-menu-padding-y: 8px;\n --hybrid-sub-menu-margin-y: 0px;\n --hybrid-sub-menu-padding-left: 10px;\n --hybrid-sub-menu-padding-left-text: 5px;\n --hybrid-sub-menu-empty-icon-padding-left-text: 29px;\n --hybrid-sub-menu-children-padding-left: 15px;\n }\n @media (prefers-color-scheme: dark) {\n :host {\n --hybrid-menu-border: 1px solid #ffffff;\n --hybrid-menu-link-color:#ffffff;\n --hybrid-menu-focus-border: 1px solid #ffffff;\n --hybrid-menu-focus-color: #ffffff;\n --hybrid-menu-hover-link-background-color: #333333;\n --hybrid-menu-hover-link-color: #ffffff;\n --hybrid-menu-active-color: #ffffff;\n --hybrid-menu-active-background-color: #242424;\n --hybrid-menu-selected-link-border: 3px solid #ffffff;\n --hybrid-menu-selected-link-background-color: #3a3a3a;\n --hybrid-menu-selected-color:#ffffff;\n --hybrid-menu-disabled-link-color: #525252;\n --hybrid-sub-menu-color: #ffffff;\n --hybrid-sub-menu-disabled-color: #525252;\n --hybrid-sub-menu-focus-border: 1px solid #ffffff;\n --hybrid-sub-menu-focus-color: #525252;\n --hybrid-sub-menu-hover-background-color: #333333;\n --hybrid-sub-menu-hover-color: #ffffff;\n --hybrid-sub-menu-active-background-color: #242424;\n --hybrid-sub-menu-active-color: #ffffff;\n --hybrid-sub-menu-highlighted-color: #ffffff;\n --hybrid-sub-menu-highlighted-background-color: #3a3a3a;\n --hybrid-sub-menu-text-icon-color: #525252;\n --hybrid-sub-menu-toggle-icon-color: #525252;\n }\n }\n`;\nexport const styles = [menuStyle];\n"]}
1
+ {"version":3,"file":"menu.style.js","sourceRoot":"","sources":["../../../src/components/menu/menu.style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+TpB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,SAAS,CAAC,CAAC","sourcesContent":["import { css } from 'lit';\n\nconst menuStyle = css`\n /* Root menu container */\n :host {\n display: block;\n }\n\n .menu-root {\n font-size: var(--nuraly-menu-font-size);\n font-family: var(--nuraly-menu-font-family);\n font-weight: var(--nuraly-menu-font-weight);\n line-height: var(--nuraly-menu-line-height);\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n /* Menu Link Styles */\n .menu-link {\n list-style: none;\n display: flex;\n align-items: center;\n cursor: pointer;\n padding: var(--nuraly-menu-link-padding-vertical) var(--nuraly-menu-link-padding-horizontal);\n color: var(--nuraly-menu-link-color);\n background-color: var(--nuraly-menu-link-background-color);\n border-left: 4px solid transparent;\n border-top: 2px solid transparent;\n border-right: 2px solid transparent;\n border-bottom: 2px solid transparent;\n border-radius: var(--nuraly-menu-border-radius);\n transition: background-color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing),\n color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing),\n border-color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing);\n }\n\n .menu-link.disabled {\n color: var(--nuraly-menu-disabled-link-color);\n cursor: not-allowed;\n opacity: 0.6;\n }\n\n .menu-link:not(.disabled):not(.selected):hover {\n background-color: var(--nuraly-menu-hover-link-background-color);\n color: var(--nuraly-menu-hover-link-color);\n }\n\n .menu-link.selected {\n background-color: var(--nuraly-menu-selected-link-background-color);\n color: var(--nuraly-menu-selected-color);\n border-left: var(--nuraly-menu-selected-link-border);\n }\n\n .menu-link:not(.disabled):not(.selected):focus {\n outline: none;\n border-left: 4px solid transparent;\n border-top: var(--nuraly-menu-focus-border);\n border-right: var(--nuraly-menu-focus-border);\n border-bottom: var(--nuraly-menu-focus-border);\n color: var(--nuraly-menu-focus-color);\n }\n\n .menu-link.selected:not(.disabled):focus {\n outline: none;\n border-left: var(--nuraly-menu-selected-link-border);\n border-top: var(--nuraly-menu-focus-border);\n border-right: var(--nuraly-menu-focus-border);\n border-bottom: var(--nuraly-menu-focus-border);\n color: var(--nuraly-menu-focus-color);\n }\n\n /* Focus-visible for keyboard navigation */\n .menu-link:not(.disabled):focus-visible {\n outline: none;\n border-top: var(--nuraly-menu-focus-border);\n border-right: var(--nuraly-menu-focus-border);\n border-bottom: var(--nuraly-menu-focus-border);\n }\n\n .menu-link:not(.disabled):not(.selected):focus-visible {\n border-left: var(--nuraly-menu-focus-border);\n color: var(--nuraly-menu-focus-color);\n }\n\n .menu-link.selected:not(.disabled):focus-visible {\n border-left: var(--nuraly-menu-selected-link-border) !important;\n color: var(--nuraly-menu-focus-color);\n }\n\n .menu-link:not(.disabled):not(.selected):active {\n color: var(--nuraly-menu-active-color);\n background-color: var(--nuraly-menu-active-background-color);\n }\n\n .menu-link.selected:not(.disabled):active {\n background-color: var(--nuraly-menu-active-background-color);\n color: var(--nuraly-menu-active-color);\n border-left: var(--nuraly-menu-selected-link-border) !important;\n border-top: 2px solid transparent;\n border-right: 2px solid transparent;\n border-bottom: 2px solid transparent;\n }\n\n .menu-link .action-text-container {\n width: 100%;\n display: flex;\n justify-content: space-between;\n align-items: center;\n position: relative;\n }\n\n .menu-link .text-container {\n flex: 1;\n min-width: 0;\n }\n\n .menu-link nr-icon {\n display: flex;\n align-items: center;\n --nuraly-icon-color: var(--nuraly-menu-link-icon-color);\n }\n\n .menu-link nr-icon:first-child {\n padding-right: var(--nuraly-menu-icon-padding-right);\n padding-left: var(--nuraly-menu-icon-padding-left);\n }\n\n /* Sub Menu Styles */\n .sub-menu {\n display: flex;\n flex-direction: column;\n padding-left: 0;\n list-style: none;\n color: var(--nuraly-sub-menu-color);\n }\n\n .sub-menu.disabled .sub-menu-header {\n color: var(--nuraly-sub-menu-disabled-color);\n cursor: not-allowed;\n opacity: 0.6;\n }\n\n .sub-menu.highlighted .sub-menu-header {\n background-color: var(--nuraly-sub-menu-highlighted-background-color);\n color: var(--nuraly-sub-menu-highlighted-color);\n }\n\n .sub-menu .sub-menu-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n cursor: pointer;\n padding: var(--nuraly-sub-menu-padding-vertical) var(--nuraly-sub-menu-padding-horizontal);\n border-left: 4px solid transparent;\n border-top: 2px solid transparent;\n border-right: 2px solid transparent;\n border-bottom: 2px solid transparent;\n border-radius: var(--nuraly-menu-border-radius);\n transition: background-color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing),\n color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing),\n border-color var(--nuraly-menu-transition-duration) var(--nuraly-menu-transition-timing);\n }\n\n .sub-menu .sub-menu-header span {\n flex: 1;\n min-width: 0;\n padding-left: var(--nuraly-sub-menu-icon-padding-right);\n }\n\n .sub-menu .text-icon {\n flex-shrink: 0;\n }\n\n .sub-menu .icons-container {\n display: flex;\n align-items: center;\n gap: var(--nuraly-sub-menu-icon-padding-right);\n position: relative;\n flex-shrink: 0;\n /* Reserve space for dropdown to prevent layout shift */\n min-width: fit-content;\n /* Fixed height to prevent vertical shifting */\n height: 100%;\n min-height: 24px;\n }\n\n .menu-link .icon-container {\n display: flex;\n align-items: center;\n position: relative;\n flex-shrink: 0;\n /* Fixed height to prevent vertical shifting */\n height: 100%;\n min-height: 24px;\n }\n\n .sub-menu nr-dropdown,\n .menu-link nr-dropdown {\n /* Keep in normal flow but ensure it doesn't grow/shrink */\n display: inline-flex;\n flex-shrink: 0;\n flex-grow: 0;\n align-items: center;\n vertical-align: middle;\n }\n\n .sub-menu .action-icon,\n .menu-link .action-icon {\n flex-shrink: 0;\n cursor: pointer;\n }\n\n .sub-menu .action-icon {\n --nuraly-icon-color: var(--nuraly-sub-menu-action-icon-color);\n }\n\n .sub-menu .status-icon {\n --nuraly-icon-color: var(--nuraly-sub-menu-status-icon-color);\n }\n\n .sub-menu .text-icon {\n --nuraly-icon-color: var(--nuraly-sub-menu-text-icon-color);\n }\n\n .sub-menu #toggle-icon {\n --nuraly-icon-color: var(--nuraly-sub-menu-toggle-icon-color);\n }\n\n .sub-menu:not(.disabled):not(.selected) .sub-menu-header:focus {\n outline: none;\n border-left: 4px solid transparent;\n border-top: var(--nuraly-sub-menu-focus-border);\n border-right: var(--nuraly-sub-menu-focus-border);\n border-bottom: var(--nuraly-sub-menu-focus-border);\n color: var(--nuraly-sub-menu-focus-color);\n }\n\n .sub-menu.selected:not(.disabled) .sub-menu-header:focus {\n outline: none;\n border-left: var(--nuraly-menu-selected-link-border);\n border-top: var(--nuraly-sub-menu-focus-border);\n border-right: var(--nuraly-sub-menu-focus-border);\n border-bottom: var(--nuraly-sub-menu-focus-border);\n color: var(--nuraly-sub-menu-focus-color);\n }\n\n /* Focus-visible for keyboard navigation on submenus */\n .sub-menu:not(.disabled) .sub-menu-header:focus-visible {\n outline: none;\n border-top: var(--nuraly-sub-menu-focus-border);\n border-right: var(--nuraly-sub-menu-focus-border);\n border-bottom: var(--nuraly-sub-menu-focus-border);\n }\n\n .sub-menu:not(.disabled):not(.selected) .sub-menu-header:focus-visible {\n border-left: var(--nuraly-sub-menu-focus-border);\n color: var(--nuraly-sub-menu-focus-color);\n }\n\n .sub-menu.selected:not(.disabled) .sub-menu-header:focus-visible {\n border-left: var(--nuraly-menu-selected-link-border) !important;\n color: var(--nuraly-sub-menu-focus-color);\n }\n\n .sub-menu:not(.disabled) .sub-menu-header:hover {\n background-color: var(--nuraly-sub-menu-hover-background-color);\n color: var(--nuraly-sub-menu-hover-color);\n }\n\n .sub-menu.selected:not(.disabled) .sub-menu-header {\n background-color: var(--nuraly-menu-selected-link-background-color);\n color: var(--nuraly-menu-selected-color);\n border-left: var(--nuraly-menu-selected-link-border);\n border-top: 2px solid transparent;\n border-right: 2px solid transparent;\n border-bottom: 2px solid transparent;\n }\n\n .sub-menu.selected:not(.disabled) .sub-menu-header:active {\n background-color: var(--nuraly-sub-menu-active-background-color);\n color: var(--nuraly-sub-menu-active-color);\n border-left: var(--nuraly-menu-selected-link-border);\n border-top: 2px solid transparent;\n border-right: 2px solid transparent;\n border-bottom: 2px solid transparent;\n }\n\n .sub-menu:not(.disabled):not(.selected) .sub-menu-header:active {\n background-color: var(--nuraly-sub-menu-active-background-color);\n color: var(--nuraly-sub-menu-active-color);\n }\n\n .sub-menu-children {\n padding-left: var(--nuraly-sub-menu-nested-padding-left);\n }\n\n /* Size Variants */\n .menu--small .menu-link {\n padding: var(--nuraly-menu-link-padding-vertical-small) var(--nuraly-menu-link-padding-horizontal-small);\n }\n\n .menu--small .sub-menu .sub-menu-header {\n padding: var(--nuraly-sub-menu-padding-vertical-small) var(--nuraly-sub-menu-padding-horizontal-small);\n }\n\n .menu--medium .menu-link {\n padding: var(--nuraly-menu-link-padding-vertical-medium) var(--nuraly-menu-link-padding-horizontal-medium);\n }\n\n .menu--medium .sub-menu .sub-menu-header {\n padding: var(--nuraly-sub-menu-padding-vertical-medium) var(--nuraly-sub-menu-padding-horizontal-medium);\n }\n\n .menu--large .menu-link {\n padding: var(--nuraly-menu-link-padding-vertical-large) var(--nuraly-menu-link-padding-horizontal-large);\n }\n\n .menu--large .sub-menu .sub-menu-header {\n padding: var(--nuraly-sub-menu-padding-vertical-large) var(--nuraly-sub-menu-padding-horizontal-large);\n }\n`;\n\nexport const styles = [menuStyle];\n"]}
package/menu.types.d.ts CHANGED
@@ -1,22 +1,62 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export declare const EMPTY_STRING = "";
7
+ /**
8
+ * Menu size variants
9
+ */
10
+ export declare const enum MenuSize {
11
+ Small = "small",
12
+ Medium = "medium",
13
+ Large = "large"
14
+ }
15
+ /**
16
+ * Icon position in menu items
17
+ */
18
+ export declare const enum IconPosition {
19
+ Left = "left",
20
+ Right = "right"
21
+ }
22
+ /**
23
+ * Menu item configuration interface
24
+ */
1
25
  export interface IMenu {
26
+ /** Display text for the menu item */
2
27
  text: string;
28
+ /** URL link for navigation */
3
29
  link?: string;
30
+ /** Menu configuration with icon and actions */
4
31
  menu?: {
5
32
  icon: string;
6
33
  actions: IAction[];
7
34
  };
35
+ /** Status indicator with icon and label */
8
36
  status?: {
9
37
  icon: string;
10
38
  label: string;
11
39
  };
40
+ /** Icon name */
12
41
  icon?: string;
13
- iconPosition?: string;
42
+ /** Icon position (left or right) */
43
+ iconPosition?: IconPosition | string;
44
+ /** Whether the menu item is selected */
14
45
  selected?: boolean;
46
+ /** Whether the menu item is disabled */
15
47
  disabled?: boolean;
48
+ /** Whether the submenu is opened */
49
+ opened?: boolean;
50
+ /** Child menu items for nested menus */
16
51
  children?: IMenu[];
17
52
  }
53
+ /**
54
+ * Menu action configuration interface
55
+ */
18
56
  export interface IAction {
57
+ /** Action label */
19
58
  label: string;
59
+ /** Action value */
20
60
  value: string;
21
61
  }
22
62
  //# sourceMappingURL=menu.types.d.ts.map
package/menu.types.js CHANGED
@@ -1,2 +1,7 @@
1
- export {};
1
+ /**
2
+ * @license
3
+ * Copyright 2023 Nuraly, Laabidi Aymen
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ export const EMPTY_STRING = '';
2
7
  //# sourceMappingURL=menu.types.js.map
package/menu.types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"menu.types.js","sourceRoot":"","sources":["../../../src/components/menu/menu.types.ts"],"names":[],"mappings":"","sourcesContent":["export interface IMenu {\n text: string;\n link?: string;\n menu?:{icon:string,actions:IAction[]};\n status?:{icon:string,label:string};\n icon?: string;\n iconPosition?: string;\n selected?: boolean;\n disabled?: boolean;\n children?: IMenu[];\n}\nexport interface IAction{\n label:string,\n value:string\n}\n"]}
1
+ {"version":3,"file":"menu.types.js","sourceRoot":"","sources":["../../../src/components/menu/menu.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2023 Nuraly, Laabidi Aymen\n * SPDX-License-Identifier: MIT\n */\n\nexport const EMPTY_STRING = '';\n\n/**\n * Menu size variants\n */\nexport const enum MenuSize {\n Small = 'small',\n Medium = 'medium',\n Large = 'large'\n}\n\n/**\n * Icon position in menu items\n */\nexport const enum IconPosition {\n Left = 'left',\n Right = 'right',\n}\n\n/**\n * Menu item configuration interface\n */\nexport interface IMenu {\n /** Display text for the menu item */\n text: string;\n /** URL link for navigation */\n link?: string;\n /** Menu configuration with icon and actions */\n menu?: { icon: string; actions: IAction[] };\n /** Status indicator with icon and label */\n status?: { icon: string; label: string };\n /** Icon name */\n icon?: string;\n /** Icon position (left or right) */\n iconPosition?: IconPosition | string;\n /** Whether the menu item is selected */\n selected?: boolean;\n /** Whether the menu item is disabled */\n disabled?: boolean;\n /** Whether the submenu is opened */\n opened?: boolean;\n /** Child menu items for nested menus */\n children?: IMenu[];\n}\n\n/**\n * Menu action configuration interface\n */\nexport interface IAction {\n /** Action label */\n label: string;\n /** Action value */\n value: string;\n}\n"]}
package/package.json CHANGED
@@ -1,15 +1,50 @@
1
1
  {
2
2
  "name": "@nuralyui/menu",
3
- "version": "0.0.9",
4
- "description": "",
3
+ "version": "0.0.15",
4
+ "description": "Menu component for NuralyUI library with support for nested submenus",
5
5
  "main": "index.js",
6
6
  "type": "module",
7
- "dependencies": {
8
- "dayjs": "^1.11.7"
7
+ "exports": {
8
+ ".": {
9
+ "import": "./index.js"
10
+ },
11
+ "./bundle": {
12
+ "import": "./bundle.js"
13
+ }
9
14
  },
15
+ "files": [
16
+ "*.js",
17
+ "*.d.ts",
18
+ "*.js.map",
19
+ "bundle.js"
20
+ ],
10
21
  "scripts": {
11
22
  "test": "echo \"Error: no test specified\" && exit 1"
12
23
  },
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "https://github.com/NuralyUI/NuralyUI.git",
27
+ "directory": "src/components/menu"
28
+ },
29
+ "keywords": [
30
+ "web-components",
31
+ "lit-element",
32
+ "menu",
33
+ "navigation",
34
+ "submenu",
35
+ "ui-components",
36
+ "typescript"
37
+ ],
13
38
  "author": "Labidi Aymen",
14
- "license": "ISC"
39
+ "license": "ISC",
40
+ "nuralyui": {
41
+ "requiredComponents": [
42
+ "nr-icon",
43
+ "nr-dropdown"
44
+ ]
45
+ },
46
+ "peerDependencies": {
47
+ "@nuralyui/icon": "^0.0.1",
48
+ "@nuralyui/dropdown": "^0.0.1"
49
+ }
15
50
  }
package/react.d.ts CHANGED
@@ -1,3 +1,5 @@
1
- import { HyMenuComponent } from './menu.component.js';
2
- export declare const HyDropdown: import("@lit-labs/react").ReactWebComponent<HyMenuComponent, {}>;
1
+ import { NrMenuElement } from './menu.component.js';
2
+ export declare const NrMenu: import("@lit-labs/react").ReactWebComponent<NrMenuElement, {
3
+ change: string;
4
+ }>;
3
5
  //# sourceMappingURL=react.d.ts.map
package/react.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import { createComponent } from '@lit-labs/react';
2
2
  import * as React from 'react';
3
- import { HyMenuComponent } from './menu.component.js';
4
- export const HyDropdown = createComponent({
5
- tagName: 'hy-menu',
6
- elementClass: HyMenuComponent,
3
+ import { NrMenuElement } from './menu.component.js';
4
+ export const NrMenu = createComponent({
5
+ tagName: 'nr-menu',
6
+ elementClass: NrMenuElement,
7
7
  react: React,
8
- events: {},
8
+ events: {
9
+ change: 'change',
10
+ },
9
11
  });
10
12
  //# sourceMappingURL=react.js.map
package/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/components/menu/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAC,eAAe,EAAC,MAAM,qBAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,UAAU,GAAG,eAAe,CAAC;IACxC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,eAAe;IAC7B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE,EAAE;CACX,CAAC,CAAC","sourcesContent":["import {createComponent} from '@lit-labs/react';\nimport * as React from 'react';\nimport {HyMenuComponent} from './menu.component.js';\nexport const HyDropdown = createComponent({\n tagName: 'hy-menu',\n elementClass: HyMenuComponent,\n react: React,\n events: {},\n});\n"]}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../../../src/components/menu/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,MAAM,GAAG,eAAe,CAAC;IACpC,OAAO,EAAE,SAAS;IAClB,YAAY,EAAE,aAAa;IAC3B,KAAK,EAAE,KAAK;IACZ,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;KACjB;CACF,CAAC,CAAC","sourcesContent":["import { createComponent } from '@lit-labs/react';\nimport * as React from 'react';\nimport { NrMenuElement } from './menu.component.js';\nexport const NrMenu = createComponent({\n tagName: 'nr-menu',\n elementClass: NrMenuElement,\n react: React,\n events: {\n change: 'change',\n },\n});\n"]}
@@ -1,22 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2023 Google Laabidi Aymen
4
- * SPDX-License-Identifier: MIT
5
- */
6
- import { LitElement } from 'lit';
7
- import '../menu.component';
8
- import { IMenu } from '../menu.types';
9
- export declare class ElMeenuElement extends LitElement {
10
- path: number[];
11
- value: string;
12
- items: IMenu[];
13
- items2: IMenu[];
14
- items3: IMenu[];
15
- protected render(): import("lit").TemplateResult<1>;
16
- }
17
- declare global {
18
- interface HTMLElementTagNameMap {
19
- 'hy-menu-demo': ElMeenuElement;
20
- }
21
- }
22
- //# sourceMappingURL=menus-demo.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"menus-demo.d.ts","sourceRoot":"","sources":["../../../../src/components/menu/demo/menus-demo.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAEvC,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtC,qBACa,cAAe,SAAQ,UAAU;IAE5C,IAAI,EAAG,MAAM,EAAE,CAAC;IAEhB,KAAK,EAAG,MAAM,CAAC;IACf,KAAK,EAAE,KAAK,EAAE,CA2CZ;IAEF,MAAM,EAAE,KAAK,EAAE,CA4Bb;IAEF,MAAM,EAAE,KAAK,EAAE,CAab;cAEiB,MAAM;CA4C1B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,cAAc,CAAC;KAChC;CACF"}