@ditari/bsui 1.0.2 → 1.0.4

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 (77) hide show
  1. package/dist/cjs/components/index.cjs.js +1 -1
  2. package/dist/cjs/components/index.d.ts +10 -2
  3. package/dist/cjs/components/layout/Breadcrumb.vue.cjs2.js +1 -1
  4. package/dist/cjs/components/layout/List.vue.cjs2.js +1 -1
  5. package/dist/cjs/components/layout/Main.vue.cjs.js +1 -1
  6. package/dist/cjs/components/layout/Main.vue.cjs2.js +1 -1
  7. package/dist/cjs/components/layout/NavTabs.vue.cjs.js +1 -1
  8. package/dist/cjs/components/layout/NavTabs.vue.cjs2.js +1 -1
  9. package/dist/cjs/components/layout/Show.vue.cjs2.js +1 -1
  10. package/dist/cjs/components/layout/index.cjs.js +1 -1
  11. package/dist/cjs/components/menu/Menu.cjs.js +1 -0
  12. package/dist/cjs/store/modules/User.cjs.js +1 -1
  13. package/dist/cjs/store/modules/User.d.ts +14 -8
  14. package/dist/css/index.css +1 -1
  15. package/dist/css/layout/style/breadcrumb.css +1 -0
  16. package/dist/css/layout/style/index.css +1 -0
  17. package/dist/css/layout/style/list.css +1 -0
  18. package/dist/css/layout/style/main.css +1 -0
  19. package/dist/css/layout/style/navtab.css +1 -0
  20. package/dist/css/layout/style/show.css +1 -0
  21. package/dist/css/menu/style/index.css +1 -1
  22. package/dist/esm/components/index.d.ts +10 -2
  23. package/dist/esm/components/index.esm.js +17 -17
  24. package/dist/esm/components/layout/Breadcrumb.vue.esm2.js +2 -2
  25. package/dist/esm/components/layout/List.vue.esm2.js +2 -2
  26. package/dist/esm/components/layout/Main.vue.esm.js +20 -22
  27. package/dist/esm/components/layout/Main.vue.esm2.js +2 -2
  28. package/dist/esm/components/layout/NavTabs.vue.esm.js +44 -39
  29. package/dist/esm/components/layout/NavTabs.vue.esm2.js +2 -2
  30. package/dist/esm/components/layout/Show.vue.esm2.js +2 -2
  31. package/dist/esm/components/layout/index.esm.js +5 -9
  32. package/dist/esm/components/menu/Menu.esm.js +71 -0
  33. package/dist/esm/store/modules/User.d.ts +14 -8
  34. package/dist/esm/store/modules/User.esm.js +13 -8
  35. package/dist/esm/style.css +1 -1
  36. package/dist/style/index.scss +2 -1
  37. package/dist/style/layout/style/breadcrumb.scss +57 -0
  38. package/dist/style/layout/style/index.scss +6 -0
  39. package/dist/style/layout/style/list.scss +26 -0
  40. package/dist/style/layout/style/main.scss +100 -0
  41. package/dist/style/layout/style/navtab.scss +118 -0
  42. package/dist/style/layout/style/show.scss +37 -0
  43. package/dist/style/menu/style/index.scss +12 -4
  44. package/dist/style/theme/variable.scss +23 -6
  45. package/package.json +7 -3
  46. package/src/components/index.scss +2 -1
  47. package/src/components/index.ts +10 -2
  48. package/src/components/layout/Breadcrumb.vue +0 -76
  49. package/src/components/layout/List.vue +1 -27
  50. package/src/components/layout/Main.vue +2 -102
  51. package/src/components/layout/NavTabs.vue +6 -95
  52. package/src/components/layout/Show.vue +1 -39
  53. package/src/components/layout/style/breadcrumb.scss +57 -0
  54. package/src/components/layout/style/index.scss +6 -0
  55. package/src/components/layout/style/list.scss +26 -0
  56. package/src/components/layout/style/main.scss +100 -0
  57. package/src/components/layout/style/navtab.scss +118 -0
  58. package/src/components/layout/style/show.scss +37 -0
  59. package/src/components/{layout/Menu.jsx → menu/Menu-bak.jsx} +36 -34
  60. package/src/components/menu/Menu.jsx +88 -47
  61. package/src/components/menu/style/index.scss +12 -4
  62. package/src/components/theme/variable.scss +23 -6
  63. package/src/store/modules/User.ts +16 -9
  64. package/dist/cjs/components/layout/Breadcrumb.vue.cjs3.js +0 -1
  65. package/dist/cjs/components/layout/List.vue.cjs3.js +0 -1
  66. package/dist/cjs/components/layout/Main.vue.cjs3.js +0 -1
  67. package/dist/cjs/components/layout/Menu.cjs.js +0 -1
  68. package/dist/cjs/components/layout/NavTabs.vue.cjs3.js +0 -1
  69. package/dist/cjs/components/layout/Show.vue.cjs3.js +0 -1
  70. package/dist/esm/components/layout/Breadcrumb.vue.esm3.js +0 -5
  71. package/dist/esm/components/layout/List.vue.esm3.js +0 -5
  72. package/dist/esm/components/layout/Main.vue.esm3.js +0 -5
  73. package/dist/esm/components/layout/Menu.esm.js +0 -52
  74. package/dist/esm/components/layout/NavTabs.vue.esm3.js +0 -5
  75. package/dist/esm/components/layout/Show.vue.esm3.js +0 -5
  76. /package/dist/cjs/components/{layout → menu}/Menu.d.ts +0 -0
  77. /package/dist/esm/components/{layout → menu}/Menu.d.ts +0 -0
@@ -39,81 +39,5 @@ export default {
39
39
  </div>
40
40
  </template>
41
41
  <style lang="scss">
42
- .ditari-breadcrumb {
43
- .ant-breadcrumb-separator {
44
- display: none;
45
- }
46
- .breadcrumb {
47
- display: flex;
48
42
 
49
- .breadcrumb-item {
50
- &:first-child {
51
- .breadcrumb-link {
52
- border-radius: 6px 0 0 6px;
53
- clip-path: polygon(
54
- 0 0,
55
- calc(100% - 8px) 0,
56
- 100% 50%,
57
- calc(100% - 8px) 100%,
58
- 0 100%
59
- );
60
- }
61
- }
62
- &:last-child {
63
- &:not(:last-child) {
64
- .breadcrumb-link {
65
- border-radius: 0 6px 6px 0;
66
- clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 8px 50%);
67
- }
68
- }
69
- }
70
- }
71
- //&:first-child {
72
- // &:not(:last-child) {
73
- // .ant-breadcrumb-link {
74
- // border-radius: 6px 0 0 6px;
75
- // clip-path: polygon(
76
- // 0 0,
77
- // calc(100% - 8px) 0,
78
- // 100% 50%,
79
- // calc(100% - 8px) 100%,
80
- // 0 100%
81
- // );
82
- // }
83
- // }
84
- //}
85
- //&:last-child {
86
- // &:not(:first-child) {
87
- // .ant-breadcrumb-link {
88
- // border-radius: 6px 0 0 6px;
89
- // clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 8px 50%);
90
- // }
91
- // }
92
- //}
93
- }
94
-
95
- .breadcrumb-link {
96
- display: block;
97
- padding: 4px 12px;
98
- background: #f0f2f5;
99
- clip-path: polygon(
100
- 0 0,
101
- calc(100% - 8px) 0,
102
- 100% 50%,
103
- calc(100% - 8px) 100%,
104
- 0 100%,
105
- 8px 50%
106
- );
107
- }
108
- }
109
-
110
- .breadcrumb-enter-active {
111
- transition: all 0.25s;
112
- }
113
-
114
- .breadcrumb-enter-from,
115
- .breadcrumb-leave-active {
116
- opacity: 0;
117
- transform: translateX(30px) skewX(-50deg);
118
- }
119
43
  </style>
@@ -130,30 +130,4 @@ export default {
130
130
  </div>
131
131
  </div>
132
132
  </template>
133
- <style lang="less">
134
- .ditari-list-layout {
135
- padding: 20px;
136
- height: 100%;
137
- .wrapper {
138
- display: flex;
139
- flex-direction: column;
140
- }
141
- .ditari-list-table {
142
- flex: 1;
143
- .ant-card-body {
144
- display: flex;
145
- flex-direction: column;
146
- height: 100%;
147
- }
148
- }
149
- .ditari-list-form {
150
- .ant-card-body {
151
- padding-bottom: 0;
152
- }
153
- }
154
-
155
- .wrapper {
156
- height: 100%;
157
- }
158
- }
159
- </style>
133
+ <style></style>
@@ -11,7 +11,7 @@ import DNavTabs from "./NavTabs.vue";
11
11
  //面包屑组件
12
12
  import DBreadcrumb from "./Breadcrumb.vue";
13
13
  // 菜单组件
14
- import Menu from "./Menu";
14
+ import Menu from "../menu/Menu";
15
15
 
16
16
  // 缓存store
17
17
  const store = useKeepAliveStore();
@@ -84,104 +84,4 @@ export default {
84
84
  </a-layout>
85
85
  <a-back-top class="ditari-ant-back-top" :visibilityHeight="50"></a-back-top>
86
86
  </template>
87
- <style lang="scss">
88
- .ditari-ant-back-top {
89
- right: 4px;
90
- bottom: 120px;
91
- }
92
- .ditari-layout {
93
- height: 100%;
94
- .ditari-layout-sider {
95
- position: fixed;
96
- left: 0;
97
- top: 0;
98
- bottom: 0;
99
- z-index: 1;
100
- }
101
- .ditari-top-layout {
102
- position: fixed;
103
- left: 200px;
104
- right: 0;
105
- z-index: 210;
106
- }
107
- .ditari-layout-content {
108
- margin-left: 200px;
109
- margin-top: 84px;
110
- }
111
- }
112
- .fade-enter-active,
113
- .fade-leave-active {
114
- transition: opacity 0.1s ease;
115
- }
116
-
117
- .fade-enter-from,
118
- .fade-leave-to {
119
- opacity: 0;
120
- }
121
-
122
- .main-enter-active {
123
- transition: 0.2s;
124
- }
125
-
126
- .main-leave-active {
127
- transition: 0.15s;
128
- }
129
-
130
- .main-enter-from {
131
- opacity: 0;
132
- margin-left: -20px;
133
- }
134
-
135
- .main-leave-to {
136
- opacity: 0;
137
- margin-left: 20px;
138
- }
139
-
140
- .ditari-layout-header {
141
- display: flex;
142
- justify-content: space-between;
143
- align-items: center;
144
- padding: 0 15px;
145
- height: 42px;
146
- border-bottom: 1px solid #f0f2f5;
147
- background-color: #fff;
148
- .ditari-layout-header-left {
149
- display: flex;
150
- justify-content: center;
151
- .ditari-side-collapsed {
152
- margin-right: 20px;
153
- cursor: pointer;
154
- width: 42px;
155
- line-height: 30px;
156
- text-align: center;
157
- transition-duration: 0.2s;
158
- &:hover {
159
- background-color: #f0f2f5;
160
- border-radius: 4px;
161
- }
162
- .icon {
163
- transition-duration: 0.2s;
164
- }
165
- }
166
- }
167
- }
168
- .ditari-user-menu {
169
- display: flex;
170
- align-items: center;
171
- height: 100%;
172
- .ditari-operation-items {
173
- margin-left: 10px;
174
- height: 100%;
175
- .ant-dropdown-link {
176
- display: flex;
177
- align-items: center;
178
- justify-content: center;
179
- height: 100%;
180
- }
181
- }
182
- }
183
-
184
- .collapsed-animation {
185
- transform: rotate(-180deg);
186
- }
187
- </style>
87
+ <style lang="scss"></style>
@@ -87,106 +87,17 @@ export default {
87
87
  <a-tabs v-model:activeKey="activeKey" type="card" @tabClick="onClick">
88
88
  <a-tab-pane v-for="item in navTabs" :key="item.path">
89
89
  <template #tab>
90
+ <div class="tab-dividers"></div>
90
91
  <div class="tab-item" :class="{ active: activeKey === item.path }">
91
92
  {{ item.meta.title }}
92
93
  </div>
93
- <CloseOutlined @click="onClose($event, item.fullPath)" />
94
+ <CloseOutlined
95
+ v-if="!item.meta?.keepOpen"
96
+ @click="onClose($event, item.fullPath)"
97
+ />
94
98
  </template>
95
99
  </a-tab-pane>
96
100
  </a-tabs>
97
101
  </div>
98
102
  </template>
99
- <style lang="scss">
100
- .ditari-nav {
101
- background: #f0f2f5;
102
- .ant-tabs-nav {
103
- margin: 0;
104
- }
105
- .ant-tabs-content-holder {
106
- display: none;
107
- }
108
- .ant-tabs-tab {
109
- position: relative;
110
- margin-left: 0 !important;
111
- border: 0 !important;
112
- transition: none !important;
113
- border-radius: 10px 10px 0 0 !important;
114
- &:not(.ant-tabs-tab-active) {
115
- background: transparent;
116
- }
117
- &:hover {
118
- &:not(.ant-tabs-tab-active) {
119
- background: #e9e9e9;
120
- }
121
- }
122
-
123
- .ant-tabs-tab-btn {
124
- display: flex;
125
- align-items: center;
126
- }
127
- .anticon {
128
- margin-right: 0;
129
- margin-left: 20px;
130
- &:hover {
131
- font-weight: bold;
132
- }
133
- }
134
- }
135
- .ant-tabs-nav-wrap {
136
- padding: 4px 8px 0;
137
- }
138
-
139
- .ant-tabs-tab::before,
140
- .ant-tabs-tab::after {
141
- position: absolute;
142
- bottom: 0;
143
- content: "";
144
- width: 20px;
145
- height: 20px;
146
- border-radius: 100%;
147
- box-shadow: 0 0 0 40px transparent;
148
- }
149
- .ant-tabs-tab::before {
150
- left: -20px;
151
- clip-path: inset(50% -10px 0 50%);
152
- }
153
- .ant-tabs-tab::after {
154
- right: -20px;
155
- clip-path: inset(50% 50% 0 -10px);
156
- }
157
-
158
- .ant-tabs-tab:hover::before,
159
- .ant-tabs-tab:hover::after {
160
- box-shadow: 0 0 0 30px #e9e9e9;
161
- }
162
-
163
- .ant-tabs-tab.ant-tabs-tab-active::before,
164
- .ant-tabs-tab.ant-tabs-tab-active::after {
165
- z-index: 10;
166
- box-shadow: 0 0 0 30px #fff;
167
- }
168
-
169
- .tab-item-dividers {
170
- position: absolute;
171
- z-index: 0;
172
- height: 14px;
173
- top: 50%;
174
- left: 0;
175
- right: 0;
176
- margin-top: -7px;
177
- &::before {
178
- content: "";
179
- display: block;
180
- position: absolute;
181
- top: 0;
182
- left: 1px;
183
- bottom: 0;
184
- width: 1px;
185
- opacity: 1;
186
- background-color: red;
187
- transition: opacity 0.2s ease, background-color 0.3s;
188
- z-index: 2;
189
- }
190
- }
191
- }
192
- </style>
103
+ <style lang="scss"></style>
@@ -116,42 +116,4 @@ export default {
116
116
  </a-spin>
117
117
  </div>
118
118
  </template>
119
- <style lang="scss">
120
- $box-shadow-color: #e0e0e0;
121
- .ditari-show-layout {
122
- position: relative;
123
- .ant-card {
124
- margin-bottom: 10px;
125
- .ant-card-head {
126
- padding: 10px 24px;
127
- .ant-card-head-title {
128
- padding: 0;
129
- }
130
- }
131
- &:last-child {
132
- margin-bottom: 0;
133
- }
134
- }
135
- .ditari-page-header {
136
- position: sticky;
137
- top: 84px;
138
- z-index: 1;
139
- padding: 4px 24px;
140
- transition: all 0.3s;
141
- &.active {
142
- box-shadow: 1px 5px 20px 2px $box-shadow-color;
143
- }
144
- }
145
- .ditari-show-content {
146
- }
147
- .ditari-show-footer {
148
- position: fixed;
149
- right: 0;
150
- bottom: 0;
151
- left: 200px;
152
- padding: 10px;
153
- background: #fff;
154
- box-shadow: 0px 0px 5px 3px $box-shadow-color;
155
- }
156
- }
157
- </style>
119
+ <style lang="scss"></style>
@@ -0,0 +1,57 @@
1
+ @import "../../theme/variable.scss";
2
+ .ditari-breadcrumb {
3
+
4
+ .ant-breadcrumb-separator {
5
+ display: none;
6
+ }
7
+ .breadcrumb {
8
+ display: flex;
9
+
10
+ .breadcrumb-item {
11
+ &:first-child {
12
+ .breadcrumb-link {
13
+ border-radius: 6px 0 0 6px;
14
+ clip-path: polygon(
15
+ 0 0,
16
+ calc(100% - 8px) 0,
17
+ 100% 50%,
18
+ calc(100% - 8px) 100%,
19
+ 0 100%
20
+ );
21
+ }
22
+ }
23
+ &:last-child {
24
+ &:not(:last-child) {
25
+ .breadcrumb-link {
26
+ border-radius: 0 6px 6px 0;
27
+ clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 8px 50%);
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+
34
+ .breadcrumb-link {
35
+ display: block;
36
+ padding: 4px 12px;
37
+ background: #f0f2f5;
38
+ clip-path: polygon(
39
+ 0 0,
40
+ calc(100% - 8px) 0,
41
+ 100% 50%,
42
+ calc(100% - 8px) 100%,
43
+ 0 100%,
44
+ 8px 50%
45
+ );
46
+ }
47
+ }
48
+
49
+ .breadcrumb-enter-active {
50
+ transition: all 0.25s;
51
+ }
52
+
53
+ .breadcrumb-enter-from,
54
+ .breadcrumb-leave-active {
55
+ opacity: 0;
56
+ transform: translateX(30px) skewX(-50deg);
57
+ }
@@ -0,0 +1,6 @@
1
+
2
+ @import "./breadcrumb";
3
+ @import "./list";
4
+ @import "./main";
5
+ @import "./navtab";
6
+ @import "./show";
@@ -0,0 +1,26 @@
1
+ @import "../../theme/variable.scss";
2
+ .ditari-list-layout {
3
+ padding: 20px;
4
+ height: 100%;
5
+ .wrapper {
6
+ display: flex;
7
+ flex-direction: column;
8
+ }
9
+ .ditari-list-table {
10
+ flex: 1;
11
+ .ant-card-body {
12
+ display: flex;
13
+ flex-direction: column;
14
+ height: 100%;
15
+ }
16
+ }
17
+ .ditari-list-form {
18
+ .ant-card-body {
19
+ padding-bottom: 0;
20
+ }
21
+ }
22
+
23
+ .wrapper {
24
+ height: 100%;
25
+ }
26
+ }
@@ -0,0 +1,100 @@
1
+ @import "../../theme/variable.scss";
2
+ .ditari-ant-back-top {
3
+ right: 4px;
4
+ bottom: 120px;
5
+ }
6
+ .ditari-layout {
7
+ height: 100%;
8
+ .ditari-layout-sider {
9
+ position: fixed;
10
+ left: 0;
11
+ top: 0;
12
+ bottom: 0;
13
+ z-index: 1;
14
+ }
15
+ .ditari-top-layout {
16
+ position: fixed;
17
+ left: 200px;
18
+ right: 0;
19
+ z-index: 210;
20
+ }
21
+ .ditari-layout-content {
22
+ margin-left: 200px;
23
+ margin-top: 84px;
24
+ }
25
+ }
26
+ .fade-enter-active,
27
+ .fade-leave-active {
28
+ transition: opacity 0.1s ease;
29
+ }
30
+
31
+ .fade-enter-from,
32
+ .fade-leave-to {
33
+ opacity: 0;
34
+ }
35
+
36
+ .main-enter-active {
37
+ transition: 0.2s;
38
+ }
39
+
40
+ .main-leave-active {
41
+ transition: 0.15s;
42
+ }
43
+
44
+ .main-enter-from {
45
+ opacity: 0;
46
+ margin-left: -20px;
47
+ }
48
+
49
+ .main-leave-to {
50
+ opacity: 0;
51
+ margin-left: 20px;
52
+ }
53
+
54
+ .ditari-layout-header {
55
+ display: flex;
56
+ justify-content: space-between;
57
+ align-items: center;
58
+ padding: 0 15px;
59
+ height: 42px;
60
+ border-bottom: 1px solid #f0f2f5;
61
+ background-color: #fff;
62
+ .ditari-layout-header-left {
63
+ display: flex;
64
+ justify-content: center;
65
+ .ditari-side-collapsed {
66
+ margin-right: 20px;
67
+ cursor: pointer;
68
+ width: 42px;
69
+ line-height: 30px;
70
+ text-align: center;
71
+ transition-duration: 0.2s;
72
+ &:hover {
73
+ background-color: #f0f2f5;
74
+ border-radius: 4px;
75
+ }
76
+ .icon {
77
+ transition-duration: 0.2s;
78
+ }
79
+ }
80
+ }
81
+ }
82
+ .ditari-user-menu {
83
+ display: flex;
84
+ align-items: center;
85
+ height: 100%;
86
+ .ditari-operation-items {
87
+ margin-left: 10px;
88
+ height: 100%;
89
+ .ant-dropdown-link {
90
+ display: flex;
91
+ align-items: center;
92
+ justify-content: center;
93
+ height: 100%;
94
+ }
95
+ }
96
+ }
97
+
98
+ .collapsed-animation {
99
+ transform: rotate(-180deg);
100
+ }
@@ -0,0 +1,118 @@
1
+ @import "../../theme/variable.scss";
2
+
3
+ /*分割线*/
4
+ @mixin tab-dividers {
5
+ .tab-dividers {
6
+ &::before {
7
+ opacity: 0;
8
+ }
9
+ }
10
+ }
11
+
12
+ .ditari-nav {
13
+ background: $nav-tab-bg-color;
14
+ .ant-tabs-nav {
15
+ margin: 0;
16
+ }
17
+ .ant-tabs-content-holder {
18
+ display: none;
19
+ }
20
+ .ant-tabs-tab {
21
+ position: relative;
22
+ margin-left: 0 !important;
23
+ border: 0 !important;
24
+ transition: none !important;
25
+ border-radius: 10px 10px 0 0 !important;
26
+ color: $nav-tab-text-color;
27
+ &:first-child,
28
+ &.ant-tabs-tab-active {
29
+ .tab-dividers {
30
+ &::before {
31
+ opacity: 0;
32
+ }
33
+ }
34
+ }
35
+ &:not(.ant-tabs-tab-active) {
36
+ background: transparent;
37
+ }
38
+ &:hover {
39
+ &:not(.ant-tabs-tab-active) {
40
+ background: $nav-tab-hover-bg-color;
41
+ @include tab-dividers;
42
+ & + .ant-tabs-tab {
43
+ @include tab-dividers;
44
+ }
45
+ }
46
+ }
47
+
48
+ .ant-tabs-tab-btn {
49
+ display: flex;
50
+ align-items: center;
51
+ }
52
+ .anticon {
53
+ margin-right: 0;
54
+ margin-left: 10px;
55
+ &:hover {
56
+ //color: red;
57
+ }
58
+ }
59
+ }
60
+ .ant-tabs-tab-active + .ant-tabs-tab {
61
+ @include tab-dividers;
62
+ }
63
+
64
+ .ant-tabs-nav-wrap {
65
+ padding: 4px 8px 0;
66
+ }
67
+
68
+ .ant-tabs-tab::before,
69
+ .ant-tabs-tab::after {
70
+ position: absolute;
71
+ bottom: 0;
72
+ content: "";
73
+ width: 20px;
74
+ height: 20px;
75
+ border-radius: 100%;
76
+ box-shadow: 0 0 0 40px transparent;
77
+ }
78
+ .ant-tabs-tab::before {
79
+ left: -20px;
80
+ clip-path: inset(50% -10px 0 50%);
81
+ }
82
+ .ant-tabs-tab::after {
83
+ right: -20px;
84
+ clip-path: inset(50% 50% 0 -10px);
85
+ }
86
+
87
+ .ant-tabs-tab:hover::before,
88
+ .ant-tabs-tab:hover::after {
89
+ box-shadow: 0 0 0 30px $nav-tab-hover-bg-color;
90
+ }
91
+
92
+ .ant-tabs-tab.ant-tabs-tab-active::before,
93
+ .ant-tabs-tab.ant-tabs-tab-active::after {
94
+ z-index: 10;
95
+ box-shadow: 0 0 0 30px #fff;
96
+ }
97
+
98
+ .tab-dividers {
99
+ position: absolute;
100
+ z-index: 0;
101
+ height: 14px;
102
+ top: 50%;
103
+ left: 0;
104
+ margin-top: -7px;
105
+ &::before {
106
+ content: "";
107
+ display: block;
108
+ position: absolute;
109
+ top: 0;
110
+ left: 1px;
111
+ bottom: 0;
112
+ width: 1px;
113
+ opacity: 1;
114
+ background-color: $nav-tab-dividers-color;
115
+ transition: opacity 0.2s ease, background-color 0.3s;
116
+ }
117
+ }
118
+ }