aloha-vue 1.2.50 → 1.2.51

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.
@@ -129,7 +129,7 @@ export default {
129
129
  icon: "MenuDown",
130
130
  },
131
131
  {
132
- id: "form",
132
+ id: "form_parent",
133
133
  label: "Form",
134
134
  icon: "FileEarmarkText",
135
135
  children: [
package/package.json CHANGED
@@ -14,7 +14,7 @@
14
14
  "Vue.js"
15
15
  ],
16
16
  "homepage": "https://github.com/ilia-brykin/aloha/#README.md",
17
- "version": "1.2.50",
17
+ "version": "1.2.51",
18
18
  "author": {
19
19
  "name": "Ilia Brykin",
20
20
  "email": "brykin.ilia@gmail.com"
@@ -105,7 +105,9 @@ export default {
105
105
 
106
106
  const {
107
107
  tabindex,
108
- } = TabindexAPI(props);
108
+ } = TabindexAPI(props, {
109
+ isLinkOpen,
110
+ });
109
111
 
110
112
  const {
111
113
  countChildren,
@@ -4,22 +4,36 @@ import {
4
4
  toRef,
5
5
  } from "vue";
6
6
 
7
- export default function TabindexAPI(props) {
7
+ export default function TabindexAPI(props, {
8
+ isLinkOpen = computed(() => false),
9
+ }) {
8
10
  const isLinkInSearchPanel = toRef(props, "isLinkInSearchPanel");
9
11
  const isPanelOpen = toRef(props, "isPanelOpen");
10
12
 
11
13
  const isMenuOpen = inject("isMenuOpen");
12
- const isPanelMain = inject("isPanelMain");
13
- const panelParentsOpen = inject("panelParentsOpen");
14
+ const isPanelMain = inject("isPanelMain", false);
15
+ const isChildPanelOpen = inject("isChildPanelOpen", false);
14
16
 
15
17
  const tabindex = computed(() => {
16
18
  if (isLinkInSearchPanel.value) {
17
19
  return 0;
18
20
  }
19
- if (isPanelOpen.value) {
20
- return 0;
21
+ if (!isMenuOpen.value) {
22
+ if (isPanelMain.value && isPanelOpen.value) {
23
+ return 0;
24
+ }
25
+ if (isPanelMain.value || isChildPanelOpen.value) {
26
+ if (isLinkOpen.value) {
27
+ return 0;
28
+ }
29
+ return -1;
30
+ }
31
+ if (isPanelOpen.value) {
32
+ return 0;
33
+ }
34
+ return -1;
21
35
  }
22
- if (!isMenuOpen.value && (isPanelMain.value || panelParentsOpen.value)) {
36
+ if (isPanelOpen.value) {
23
37
  return 0;
24
38
  }
25
39
  return -1;
@@ -30,15 +30,15 @@
30
30
  --a_menu_2_link_selected_bg: var(--a_color_gray_200);
31
31
  --a_menu_2_link_selected_color: inherit;
32
32
  --a_menu_2_link_border_color: transparent;
33
- --a_menu_2_icon_color: var(--a_color_gray_600);
34
- --a_menu_2_panel_opened_icon_color: var(--a_color_gray_600);
33
+ --a_menu_2_link_border_radius: .3rem;
34
+ --a_menu_2_icon_color: var(--a_menu_2_link_color);
35
35
  --a_menu_2_icon_focus_shadow_color: var(--a_color_focus);
36
36
  --a_menu_2_list_header_bg: var(--a_color_gray_200);
37
37
  --a_menu_2_breadcrumb_min_height: 60px;
38
38
  --a_menu_2_breadcrumb_border_bottom_width: 1px;
39
39
  --a_menu_2_submenu_open_bg: var(--a_color_primary);
40
40
  --a_menu_2_submenu_open_color: var(--a_color_white);
41
- --a_menu_2_submenu_border_radius: var(--a_border_radius_xl);
41
+ --a_menu_2_submenu_border_radius: 1rem;
42
42
  --a_menu_2_submenu_border_width: 2px;
43
43
  --a_menu_2_search_height: 50px;
44
44
 
@@ -122,7 +122,7 @@
122
122
  cursor: pointer;
123
123
  color: var(--a_menu_2_link_color);
124
124
  border: 1px solid var(--a_menu_2_link_border_color);
125
-
125
+ border-radius: var(--a_menu_2_link_border_radius);
126
126
  &,
127
127
  &:active,
128
128
  &:hover,
@@ -137,6 +137,21 @@
137
137
  box-shadow: inset 0 0 1px 4px var(--a_menu_2_icon_focus_shadow_color);
138
138
  color: var(--a_menu_2_link_color);
139
139
  }
140
+ &.a_menu_2__link_active {
141
+ --a_menu_2_icon_color: var(--a_menu_2_submenu_open_bg);
142
+ --a_menu_2_link_border_color: var(--a_menu_2_submenu_open_bg);
143
+
144
+ background-color: var(--a_menu_2_submenu_open_color);
145
+ color: var(--a_menu_2_submenu_open_bg);
146
+ }
147
+
148
+ &.a_menu_2__link_open {
149
+ --a_menu_2_icon_color: var(--a_menu_2_submenu_open_color);
150
+ --a_menu_2_link_border_color: var(--a_menu_2_submenu_open_bg);
151
+
152
+ background-color: var(--a_menu_2_submenu_open_bg);
153
+ color: var(--a_menu_2_submenu_open_color);
154
+ }
140
155
  }
141
156
  .a_menu_2__link_panel_main {
142
157
  .a_menu_2__link__text {
@@ -211,9 +226,9 @@
211
226
  height: var(--a_menu_2_breadcrumb_min_height);
212
227
  }
213
228
  .a_menu_2__navbar_top_sub__search {
214
- width: var(--a_menu_2_width_collapsed);
215
229
  padding-top: 0.4rem;
216
- padding-bottom: 0.4rem
230
+ padding-bottom: 0.4rem;
231
+ margin: 0 var(--a_menu_2_listitem_padding);
217
232
  }
218
233
 
219
234
  .a_menu_2__btn_toggle {
@@ -312,24 +327,6 @@
312
327
  }
313
328
  }
314
329
 
315
- .a_menu_2__link_active {
316
- --a_menu_2_icon_color: var(--a_menu_2_submenu_open_bg);
317
- --a_menu_2_link_border_color: var(--a_menu_2_submenu_open_bg);
318
-
319
- border-radius: 4px;
320
- background-color: var(--a_menu_2_submenu_open_color);
321
- color: var(--a_menu_2_submenu_open_bg);
322
- }
323
-
324
- .a_menu_2__link_open {
325
- --a_menu_2_icon_color: var(--a_menu_2_submenu_open_color);
326
- --a_menu_2_link_border_color: var(--a_menu_2_submenu_open_bg);
327
-
328
- border-radius: 4px;
329
- background-color: var(--a_menu_2_submenu_open_bg);
330
- color: var(--a_menu_2_submenu_open_color);
331
- }
332
-
333
330
  // panels
334
331
  .a_menu_2__panels {
335
332
  position: absolute;
@@ -381,9 +378,6 @@
381
378
  .a_menu_2__panel_opened {
382
379
  z-index: 2;
383
380
  transform: translate3d(0,0,0);
384
- .a_menu_2__link__icon {
385
- color: var(--a_menu_2_panel_opened_icon_color);
386
- }
387
381
  }
388
382
  .a_menu_2__panel_parent {
389
383
  overflow-y: hidden;
@@ -471,10 +465,10 @@
471
465
  box-shadow: 0 0 2px 2px var(--a_color_gray_600);
472
466
  max-height: var(--a_menu_2_close_panel_max_height);
473
467
  overflow-y: auto;
468
+ z-index: 2;
474
469
  }
475
470
  .a_menu_2__panel_parent {
476
471
  display: block;
477
- z-index: 1;
478
472
  overflow-y: hidden;
479
473
  }
480
474
  }