oxy-uni-ui 1.2.3 → 2.1.0

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 (246) hide show
  1. package/attributes.json +1 -1
  2. package/components/common/abstracts/variable.scss +512 -343
  3. package/components/common/util.ts +185 -32
  4. package/components/composables/index.ts +1 -0
  5. package/components/composables/usePopover.ts +24 -20
  6. package/components/composables/useVirtualScroll.ts +48 -21
  7. package/components/composables/useWindowResize.ts +35 -0
  8. package/components/oxy-action-sheet/index.scss +24 -11
  9. package/components/oxy-action-sheet/oxy-action-sheet.vue +27 -19
  10. package/components/oxy-action-sheet/types.ts +7 -0
  11. package/components/oxy-backtop/index.scss +4 -4
  12. package/components/oxy-backtop/oxy-backtop.vue +9 -6
  13. package/components/oxy-backtop/types.ts +7 -7
  14. package/components/oxy-badge/index.scss +4 -4
  15. package/components/oxy-badge/oxy-badge.vue +3 -3
  16. package/components/oxy-badge/types.ts +2 -2
  17. package/components/oxy-button/index.scss +5 -5
  18. package/components/oxy-button/oxy-button.vue +5 -1
  19. package/components/oxy-calendar/index.scss +15 -15
  20. package/components/oxy-calendar/oxy-calendar.vue +1 -0
  21. package/components/oxy-calendar/types.ts +5 -0
  22. package/components/oxy-calendar-view/month/index.scss +4 -4
  23. package/components/oxy-calendar-view/month/types.ts +36 -0
  24. package/components/oxy-calendar-view/monthPanel/index.scss +7 -8
  25. package/components/oxy-calendar-view/monthPanel/month-panel.vue +14 -8
  26. package/components/oxy-calendar-view/year/index.scss +5 -5
  27. package/components/oxy-calendar-view/yearPanel/index.scss +4 -4
  28. package/components/oxy-calendar-view/yearPanel/year-panel.vue +21 -5
  29. package/components/oxy-card/index.scss +2 -2
  30. package/components/oxy-cell/index.scss +8 -8
  31. package/components/oxy-checkbox/index.scss +12 -12
  32. package/components/oxy-checkbox-group/index.scss +2 -2
  33. package/components/oxy-circle/oxy-circle.vue +10 -7
  34. package/components/oxy-circle/types.ts +5 -5
  35. package/components/oxy-col/oxy-col.vue +2 -2
  36. package/components/oxy-col-picker/index.scss +4 -4
  37. package/components/oxy-col-picker/oxy-col-picker.vue +6 -5
  38. package/components/oxy-col-picker/types.ts +7 -2
  39. package/components/oxy-collapse/index.scss +2 -2
  40. package/components/oxy-collapse-item/oxy-collapse-item.vue +3 -3
  41. package/components/oxy-corner/index.scss +33 -33
  42. package/components/oxy-count-to/oxy-count-to.vue +3 -3
  43. package/components/oxy-curtain/index.scss +15 -15
  44. package/components/oxy-curtain/oxy-curtain.vue +4 -2
  45. package/components/oxy-curtain/types.ts +6 -1
  46. package/components/oxy-date-strip/oxy-date-strip.vue +2 -2
  47. package/components/oxy-date-strip/types.ts +1 -1
  48. package/components/oxy-date-strip-item/index.scss +3 -3
  49. package/components/oxy-datetime-picker/index.scss +11 -11
  50. package/components/oxy-datetime-picker/oxy-datetime-picker.vue +1 -0
  51. package/components/oxy-datetime-picker/types.ts +5 -0
  52. package/components/oxy-drop-menu/index.scss +5 -5
  53. package/components/oxy-drop-menu/oxy-drop-menu.vue +3 -3
  54. package/components/oxy-drop-menu-item/index.scss +3 -3
  55. package/components/oxy-drop-menu-item/oxy-drop-menu-item.vue +4 -3
  56. package/components/oxy-drop-menu-item/types.ts +5 -0
  57. package/components/oxy-echarts/types.ts +6 -0
  58. package/components/oxy-fab/index.scss +8 -8
  59. package/components/oxy-fab/oxy-fab.vue +22 -3
  60. package/components/oxy-file-list/index.scss +30 -29
  61. package/components/oxy-file-list/oxy-file-list.vue +2 -2
  62. package/components/oxy-floating-panel/oxy-floating-panel.vue +13 -9
  63. package/components/oxy-floating-panel/{type.ts → types.ts} +8 -8
  64. package/components/oxy-footer/index.scss +19 -0
  65. package/components/oxy-footer/oxy-footer.vue +78 -0
  66. package/components/oxy-footer/types.ts +17 -0
  67. package/components/oxy-form-item/types.ts +22 -1
  68. package/components/oxy-gap/oxy-gap.vue +2 -2
  69. package/components/oxy-gap/types.ts +2 -2
  70. package/components/oxy-grid/oxy-grid.vue +1 -1
  71. package/components/oxy-grid/types.ts +1 -1
  72. package/components/oxy-grid-item/index.scss +1 -1
  73. package/components/oxy-grid-item/oxy-grid-item.vue +7 -5
  74. package/components/oxy-grid-item/types.ts +1 -1
  75. package/components/oxy-guidance/index.scss +75 -0
  76. package/components/oxy-guidance/oxy-guidance.vue +201 -0
  77. package/components/oxy-guidance/types.ts +33 -0
  78. package/components/oxy-icon/oxy-icon.vue +2 -2
  79. package/components/oxy-icon/types.ts +1 -1
  80. package/components/oxy-img/oxy-img.vue +4 -4
  81. package/components/oxy-img/types.ts +3 -3
  82. package/components/oxy-img-cropper/index.scss +23 -23
  83. package/components/oxy-img-cropper/oxy-img-cropper.vue +97 -52
  84. package/components/oxy-img-cropper/types.ts +2 -2
  85. package/components/oxy-img-lazy/oxy-img-lazy.vue +3 -3
  86. package/components/oxy-img-lazy/types.ts +3 -3
  87. package/components/oxy-index-anchor/index.scss +2 -2
  88. package/components/oxy-index-anchor/oxy-index-anchor.vue +2 -2
  89. package/components/oxy-index-anchor/{type.ts → types.ts} +3 -0
  90. package/components/oxy-index-bar/index.scss +3 -3
  91. package/components/oxy-index-bar/oxy-index-bar.vue +3 -3
  92. package/components/oxy-index-bar/{type.ts → types.ts} +2 -2
  93. package/components/oxy-input/index.scss +1 -1
  94. package/components/oxy-input-number/index.scss +5 -5
  95. package/components/oxy-input-number/oxy-input-number.vue +2 -2
  96. package/components/oxy-input-number/types.ts +3 -2
  97. package/components/oxy-keyboard/index.scss +5 -5
  98. package/components/oxy-keyboard/key/index.scss +3 -3
  99. package/components/oxy-keyboard/key/index.vue +2 -2
  100. package/components/oxy-keyboard/key/types.ts +15 -0
  101. package/components/oxy-keyboard/oxy-keyboard.vue +1 -0
  102. package/components/oxy-keyboard/types.ts +5 -0
  103. package/components/oxy-link/index.scss +2 -2
  104. package/components/oxy-list/oxy-list.vue +4 -3
  105. package/components/oxy-loading/oxy-loading.vue +8 -4
  106. package/components/oxy-loading/types.ts +1 -1
  107. package/components/oxy-loadmore/index.scss +3 -3
  108. package/components/oxy-long-press-menu/index.scss +93 -0
  109. package/components/oxy-long-press-menu/oxy-long-press-menu.vue +338 -0
  110. package/components/oxy-long-press-menu/types.ts +34 -0
  111. package/components/oxy-message-box/index.scss +12 -11
  112. package/components/oxy-message-box/oxy-message-box.vue +9 -2
  113. package/components/oxy-message-box/types.ts +9 -0
  114. package/components/oxy-navbar/index.scss +2 -2
  115. package/components/oxy-navbar/oxy-navbar.vue +58 -13
  116. package/components/oxy-navbar/types.ts +8 -1
  117. package/components/oxy-navbar-capsule/types.ts +3 -0
  118. package/components/oxy-notice-bar/index.scss +3 -3
  119. package/components/oxy-notice-bar/oxy-notice-bar.vue +9 -5
  120. package/components/oxy-notice-bar/types.ts +3 -3
  121. package/components/oxy-notify/index.ts +1 -0
  122. package/components/oxy-notify/oxy-notify.vue +3 -2
  123. package/components/oxy-notify/types.ts +7 -0
  124. package/components/oxy-pagination/index.scss +6 -5
  125. package/components/oxy-password-input/oxy-password-input.vue +2 -2
  126. package/components/oxy-password-input/types.ts +1 -1
  127. package/components/oxy-picker/index.scss +45 -2
  128. package/components/oxy-picker/oxy-picker.vue +100 -14
  129. package/components/oxy-picker/types.ts +29 -1
  130. package/components/oxy-picker-view/index.scss +4 -4
  131. package/components/oxy-picker-view/oxy-picker-view.vue +4 -4
  132. package/components/oxy-popover/index.scss +13 -13
  133. package/components/oxy-popup/index.scss +4 -4
  134. package/components/oxy-popup/oxy-popup.vue +35 -2
  135. package/components/oxy-popup/types.ts +8 -1
  136. package/components/oxy-progress/index.scss +3 -3
  137. package/components/oxy-qrcode/draw.ts +398 -0
  138. package/components/oxy-qrcode/index.scss +2 -0
  139. package/components/oxy-qrcode/oxy-qrcode.vue +124 -0
  140. package/components/oxy-qrcode/qrcode.ts +936 -0
  141. package/components/oxy-qrcode/types.ts +42 -0
  142. package/components/oxy-radio/index.scss +25 -19
  143. package/components/oxy-radio-group/index.scss +2 -2
  144. package/components/oxy-rate/types.ts +4 -4
  145. package/components/oxy-resize/index.scss +2 -2
  146. package/components/oxy-resize/oxy-resize.vue +4 -4
  147. package/components/oxy-resize/types.ts +3 -0
  148. package/components/oxy-rich-text/index.scss +37 -36
  149. package/components/oxy-rich-text/mp-html/card/card.vue +3 -3
  150. package/components/oxy-rich-text/mp-html/mp-html.vue +33 -24
  151. package/components/oxy-rich-text/mp-html/node/node.vue +30 -19
  152. package/components/oxy-rich-text/oxy-rich-text.vue +31 -31
  153. package/components/oxy-rich-text/types.ts +6 -1
  154. package/components/oxy-row/oxy-row.vue +3 -3
  155. package/components/oxy-row/types.ts +1 -1
  156. package/components/oxy-search/index.scss +7 -7
  157. package/components/oxy-segmented/index.scss +19 -16
  158. package/components/oxy-segmented/oxy-segmented.vue +23 -3
  159. package/components/oxy-select/index.scss +213 -89
  160. package/components/oxy-select/oxy-select.vue +106 -58
  161. package/components/oxy-select/types.ts +13 -1
  162. package/components/oxy-select-picker/index.scss +7 -7
  163. package/components/oxy-select-picker/oxy-select-picker.vue +1 -0
  164. package/components/oxy-select-picker/types.ts +2 -0
  165. package/components/oxy-sidebar-item/index.scss +2 -2
  166. package/components/oxy-signature/oxy-signature.vue +18 -10
  167. package/components/oxy-signature/types.ts +106 -13
  168. package/components/oxy-skeleton/index.scss +1 -1
  169. package/components/oxy-skeleton/oxy-skeleton.vue +6 -6
  170. package/components/oxy-skeleton/types.ts +1 -1
  171. package/components/oxy-slider/index.scss +6 -6
  172. package/components/oxy-sort-button/index.scss +8 -8
  173. package/components/oxy-splitter/index.scss +19 -0
  174. package/components/oxy-splitter/oxy-splitter.vue +409 -0
  175. package/components/oxy-splitter/types.ts +75 -0
  176. package/components/oxy-splitter-panel/index.scss +366 -0
  177. package/components/oxy-splitter-panel/oxy-splitter-panel.vue +432 -0
  178. package/components/oxy-splitter-panel/types.ts +63 -0
  179. package/components/oxy-status-tip/index.scss +4 -4
  180. package/components/oxy-status-tip/oxy-status-tip.vue +5 -5
  181. package/components/oxy-status-tip/types.ts +3 -3
  182. package/components/oxy-step/index.scss +16 -16
  183. package/components/oxy-sticky/oxy-sticky.vue +6 -6
  184. package/components/oxy-stream-render/oxy-stream-render.vue +230 -4
  185. package/components/oxy-stream-render/types.ts +4 -1
  186. package/components/oxy-swipe-action/oxy-swipe-action.vue +27 -2
  187. package/components/oxy-swiper/oxy-swiper.vue +6 -6
  188. package/components/oxy-swiper/types.ts +5 -5
  189. package/components/oxy-swiper-nav/index.scss +3 -3
  190. package/components/oxy-switch/index.scss +10 -10
  191. package/components/oxy-switch/oxy-switch.vue +2 -2
  192. package/components/oxy-switch/types.ts +1 -1
  193. package/components/oxy-tab/index.scss +11 -1
  194. package/components/oxy-tabbar/index.scss +2 -2
  195. package/components/oxy-tabbar/oxy-tabbar.vue +39 -10
  196. package/components/oxy-table/index.scss +8 -8
  197. package/components/oxy-table/oxy-table.vue +8 -6
  198. package/components/oxy-table/types.ts +2 -2
  199. package/components/oxy-table-col/index.scss +3 -3
  200. package/components/oxy-table-col/oxy-table-col.vue +3 -3
  201. package/components/oxy-table-col/types.ts +2 -2
  202. package/components/oxy-tabs/index.scss +52 -22
  203. package/components/oxy-tabs/oxy-tabs.vue +53 -19
  204. package/components/oxy-tabs/types.ts +15 -3
  205. package/components/oxy-tag/index.scss +111 -36
  206. package/components/oxy-text/index.scss +5 -1
  207. package/components/oxy-text/oxy-text.vue +76 -7
  208. package/components/oxy-text/types.ts +12 -0
  209. package/components/oxy-textarea/index.scss +6 -6
  210. package/components/oxy-toast/oxy-toast.vue +24 -8
  211. package/components/oxy-tooltip/index.scss +9 -9
  212. package/components/oxy-tree/index.scss +51 -15
  213. package/components/oxy-tree/oxy-tree.vue +13 -9
  214. package/components/oxy-tree/types.ts +12 -9
  215. package/components/oxy-upload/index.scss +23 -23
  216. package/components/oxy-upload/types.ts +2 -2
  217. package/components/oxy-verification-code/index.scss +6 -0
  218. package/components/oxy-verification-code/oxy-verification-code.vue +187 -0
  219. package/components/oxy-verification-code/types.ts +82 -0
  220. package/components/oxy-video-preview/index.scss +4 -4
  221. package/components/oxy-virtual-scroll/index.scss +5 -5
  222. package/components/oxy-virtual-scroll/oxy-virtual-scroll.vue +11 -7
  223. package/components/oxy-virtual-scroll/types.ts +14 -14
  224. package/components/oxy-voice-player/index.scss +937 -0
  225. package/components/oxy-voice-player/oxy-voice-player.vue +821 -0
  226. package/components/oxy-voice-player/types.ts +567 -0
  227. package/components/oxy-waterfall/oxy-waterfall.vue +6 -6
  228. package/components/oxy-waterfall/types.ts +6 -6
  229. package/components/oxy-watermark/oxy-watermark.vue +35 -13
  230. package/components/oxy-watermark/types.ts +14 -14
  231. package/global.d.ts +4 -0
  232. package/locale/lang/ar-SA.ts +3 -0
  233. package/locale/lang/en-US.ts +3 -0
  234. package/locale/lang/zh-CN.ts +3 -0
  235. package/package.json +97 -1
  236. package/tags.json +1 -1
  237. package/web-types.json +1 -1
  238. package/components/oxy-number-keyboard/index.scss +0 -78
  239. package/components/oxy-number-keyboard/key/index.scss +0 -81
  240. package/components/oxy-number-keyboard/key/index.vue +0 -78
  241. package/components/oxy-number-keyboard/key/types.ts +0 -11
  242. package/components/oxy-number-keyboard/oxy-number-keyboard.vue +0 -151
  243. package/components/oxy-number-keyboard/types.ts +0 -83
  244. package/components/oxy-tree/components/tree-node-content.vue +0 -72
  245. package/components/oxy-tree/index.ts +0 -51
  246. package/oxy-uni-ui.zip +0 -0
@@ -0,0 +1,366 @@
1
+ @import './../common/abstracts/_mixin.scss';
2
+ @import './../common/abstracts/variable.scss';
3
+
4
+ @include b(splitter-panel) {
5
+ position: relative;
6
+ min-width: 0;
7
+ min-height: 0;
8
+ overflow: visible;
9
+
10
+ @include e(content) {
11
+ position: relative;
12
+ z-index: 0;
13
+ width: 100%;
14
+ height: 100%;
15
+ overflow: hidden;
16
+ }
17
+
18
+ @include e(bar) {
19
+ position: relative;
20
+ z-index: 2;
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ flex-shrink: 0;
25
+ background-color: transparent;
26
+ transition: background-color 0.16s ease, box-shadow 0.16s ease;
27
+
28
+ &::before {
29
+ position: absolute;
30
+ z-index: 1;
31
+ content: '';
32
+ background-color: $-splitter-line-color;
33
+ border-radius: $-splitter-bar-radius;
34
+ transition: background-color 0.16s ease, opacity 0.16s ease;
35
+ }
36
+
37
+ &::after {
38
+ position: absolute;
39
+ z-index: 2;
40
+ content: '';
41
+ border-radius: $-splitter-bar-radius;
42
+ background-color: $-splitter-grip-active-color;
43
+ opacity: 0;
44
+ pointer-events: none;
45
+ transition: opacity 0.16s ease, transform 0.16s ease;
46
+ }
47
+
48
+ &.has-action {
49
+ z-index: 6;
50
+ }
51
+
52
+ @include m(horizontal) {
53
+ width: $-splitter-touch-hit-size;
54
+ height: 100%;
55
+ flex-direction: column;
56
+ margin-left: calc(#{$-splitter-touch-hit-size} / -2);
57
+ margin-right: calc(#{$-splitter-touch-hit-size} / -2);
58
+ touch-action: pan-y;
59
+
60
+ &::before {
61
+ width: 1px;
62
+ height: 100%;
63
+ left: 50%;
64
+ top: 0;
65
+ transform: translateX(-50%);
66
+ }
67
+
68
+ &::after {
69
+ width: calc(#{$-splitter-grip-size} * 2);
70
+ height: calc(#{$-splitter-grip-length} * 2);
71
+ left: 50%;
72
+ top: 50%;
73
+ transform: translate(-50%, -50%) scaleY(0.68);
74
+ }
75
+ }
76
+
77
+ @include m(vertical) {
78
+ width: 100%;
79
+ height: $-splitter-touch-hit-size;
80
+ flex-direction: row;
81
+ margin-top: calc(#{$-splitter-touch-hit-size} / -2);
82
+ margin-bottom: calc(#{$-splitter-touch-hit-size} / -2);
83
+ touch-action: pan-x;
84
+
85
+ &::before {
86
+ width: 100%;
87
+ height: 1px;
88
+ left: 0;
89
+ top: 50%;
90
+ transform: translateY(-50%);
91
+ }
92
+
93
+ &::after {
94
+ width: calc(#{$-splitter-grip-length} * 2);
95
+ height: calc(#{$-splitter-grip-size} * 2);
96
+ left: 50%;
97
+ top: 50%;
98
+ transform: translate(-50%, -50%) scaleX(0.68);
99
+ }
100
+ }
101
+
102
+ @include when(draggable) {
103
+ background-color: transparent;
104
+
105
+ &::before {
106
+ opacity: 0.9;
107
+ }
108
+ }
109
+
110
+ @include when(static) {
111
+ opacity: 0.7;
112
+ }
113
+
114
+ @include when(moving) {
115
+ background-color: transparent;
116
+ box-shadow: none;
117
+
118
+ &.oxy-splitter-panel__bar--horizontal {
119
+ background: linear-gradient(
120
+ to right,
121
+ transparent calc(50% - (#{$-splitter-grip-size} * 3)),
122
+ #{$-splitter-bar-active-bg} calc(50% - (#{$-splitter-grip-size} * 3)),
123
+ #{$-splitter-bar-active-bg} calc(50% + (#{$-splitter-grip-size} * 3)),
124
+ transparent calc(50% + (#{$-splitter-grip-size} * 3))
125
+ );
126
+ }
127
+
128
+ &.oxy-splitter-panel__bar--vertical {
129
+ background: linear-gradient(
130
+ to bottom,
131
+ transparent calc(50% - (#{$-splitter-grip-size} * 3)),
132
+ #{$-splitter-bar-active-bg} calc(50% - (#{$-splitter-grip-size} * 3)),
133
+ #{$-splitter-bar-active-bg} calc(50% + (#{$-splitter-grip-size} * 3)),
134
+ transparent calc(50% + (#{$-splitter-grip-size} * 3))
135
+ );
136
+ }
137
+
138
+ &::before {
139
+ background-color: $-splitter-line-color;
140
+ opacity: 0.8;
141
+ }
142
+
143
+ &::after {
144
+ opacity: 0.14;
145
+ transform: translate(-50%, -50%) scale(0.82);
146
+ }
147
+ }
148
+
149
+ }
150
+
151
+ @include e(action) {
152
+ position: absolute;
153
+ z-index: 20;
154
+ display: flex;
155
+ align-items: center;
156
+ justify-content: center;
157
+ width: calc(#{$-splitter-action-size} - 2rpx);
158
+ height: calc(#{$-splitter-action-size} * 1.72);
159
+ border-radius: $-splitter-action-radius;
160
+ border: 1px solid $-splitter-action-border;
161
+ background-color: $-splitter-action-bg;
162
+ box-shadow: $-splitter-action-shadow;
163
+ color: $-splitter-arrow-color;
164
+ transition: opacity 0.16s ease, box-shadow 0.16s ease;
165
+
166
+ .oxy-splitter-panel__bar--horizontal & {
167
+ left: 50%;
168
+ top: 50%;
169
+ transform: translate(-50%, -50%);
170
+ }
171
+
172
+ .oxy-splitter-panel__bar--vertical & {
173
+ top: 50%;
174
+ left: 50%;
175
+ width: calc(#{$-splitter-action-size} * 1.72);
176
+ height: calc(#{$-splitter-action-size} - 2rpx);
177
+ transform: translate(-50%, -50%);
178
+ }
179
+
180
+ &:active {
181
+ opacity: 0.88;
182
+ }
183
+ }
184
+
185
+ @include e(action-group) {
186
+ position: absolute;
187
+ z-index: 20;
188
+ display: flex;
189
+ align-items: center;
190
+ justify-content: center;
191
+ border-radius: $-splitter-action-group-radius;
192
+ border: 1px solid $-splitter-action-border;
193
+ background-color: $-splitter-action-bg;
194
+ box-shadow: $-splitter-action-shadow;
195
+ overflow: hidden;
196
+ transition: opacity 0.16s ease, box-shadow 0.16s ease;
197
+
198
+ .oxy-splitter-panel__bar--horizontal & {
199
+ left: 50%;
200
+ top: 50%;
201
+ width: calc(#{$-splitter-action-size} * 1.9);
202
+ height: calc(#{$-splitter-action-size} * 1.18);
203
+ transform: translate(-50%, -50%);
204
+ flex-direction: row;
205
+ }
206
+
207
+ .oxy-splitter-panel__bar--vertical & {
208
+ left: 50%;
209
+ top: 50%;
210
+ width: calc(#{$-splitter-action-size} * 1.18);
211
+ height: calc(#{$-splitter-action-size} * 1.9);
212
+ transform: translate(-50%, -50%);
213
+ flex-direction: column;
214
+ }
215
+ }
216
+
217
+ @include e(action-segment) {
218
+ display: flex;
219
+ align-items: center;
220
+ justify-content: center;
221
+ flex: 1;
222
+ height: 100%;
223
+ color: $-splitter-arrow-color;
224
+
225
+ &:active {
226
+ background-color: $-splitter-action-active-bg;
227
+ }
228
+ }
229
+
230
+ @include e(action-separator) {
231
+ flex-shrink: 0;
232
+ background-color: $-splitter-action-border;
233
+
234
+ .oxy-splitter-panel__bar--horizontal & {
235
+ width: 1px;
236
+ height: 64%;
237
+ }
238
+
239
+ .oxy-splitter-panel__bar--vertical & {
240
+ width: 64%;
241
+ height: 1px;
242
+ }
243
+ }
244
+
245
+ @include e(grip) {
246
+ position: absolute;
247
+ z-index: 3;
248
+ pointer-events: none;
249
+ border-radius: $-splitter-grip-radius;
250
+ background-color: $-splitter-grip-color;
251
+ opacity: 0.9;
252
+ transition: background-color 0.16s ease, opacity 0.16s ease, transform 0.16s ease;
253
+
254
+ .oxy-splitter-panel__bar--horizontal & {
255
+ top: 50%;
256
+ left: 50%;
257
+ width: $-splitter-grip-size;
258
+ height: $-splitter-grip-length;
259
+ transform: translate(-50%, -50%);
260
+ box-shadow:
261
+ 0 calc(#{$-splitter-grip-gap} * -1) 0 0 $-splitter-grip-color,
262
+ 0 $-splitter-grip-gap 0 0 $-splitter-grip-color;
263
+ }
264
+
265
+ .oxy-splitter-panel__bar--vertical & {
266
+ top: 50%;
267
+ left: 50%;
268
+ width: $-splitter-grip-length;
269
+ height: $-splitter-grip-size;
270
+ transform: translate(-50%, -50%);
271
+ box-shadow:
272
+ calc(#{$-splitter-grip-gap} * -1) 0 0 0 $-splitter-grip-color,
273
+ $-splitter-grip-gap 0 0 0 $-splitter-grip-color;
274
+ }
275
+ }
276
+
277
+ .oxy-splitter-panel__bar.is-moving {
278
+ .oxy-splitter-panel__grip {
279
+ background-color: $-splitter-grip-active-color;
280
+ opacity: 1;
281
+
282
+ .oxy-splitter-panel__bar--horizontal & {
283
+ box-shadow:
284
+ 0 calc(#{$-splitter-grip-gap} * -1) 0 0 $-splitter-grip-active-color,
285
+ 0 $-splitter-grip-gap 0 0 $-splitter-grip-active-color;
286
+ }
287
+
288
+ .oxy-splitter-panel__bar--vertical & {
289
+ box-shadow:
290
+ calc(#{$-splitter-grip-gap} * -1) 0 0 0 $-splitter-grip-active-color,
291
+ $-splitter-grip-gap 0 0 0 $-splitter-grip-active-color;
292
+ }
293
+ }
294
+
295
+ .oxy-splitter-panel__action,
296
+ .oxy-splitter-panel__action-group {
297
+ opacity: 0.76;
298
+ }
299
+ }
300
+
301
+ :deep(.oxy-splitter-panel__icon) {
302
+ display: inline-flex;
303
+ align-items: center;
304
+ justify-content: center;
305
+ }
306
+
307
+ }
308
+
309
+ .oxy-theme-dark {
310
+ @include b(splitter-panel) {
311
+ @include e(bar) {
312
+ background-color: transparent;
313
+
314
+ &::before {
315
+ background-color: $-splitter-bar-dark-border;
316
+ }
317
+
318
+ &::after {
319
+ background-color: $-splitter-grip-dark-color;
320
+ }
321
+
322
+ &.is-moving {
323
+ box-shadow: 0 0 0 1px $-splitter-bar-dark-border;
324
+ }
325
+ }
326
+
327
+ @include e(action) {
328
+ background-color: $-dark-background4;
329
+ border-color: $-dark-border-color;
330
+ color: $-dark-color3;
331
+ }
332
+
333
+ @include e(action-group) {
334
+ background-color: $-dark-background4;
335
+ border-color: $-dark-border-color;
336
+ }
337
+
338
+ @include e(action-segment) {
339
+ color: $-dark-color3;
340
+
341
+ &:active {
342
+ background-color: $-splitter-action-dark-active-bg;
343
+ }
344
+ }
345
+
346
+ @include e(action-separator) {
347
+ background-color: $-dark-border-color;
348
+ }
349
+
350
+ @include e(grip) {
351
+ background-color: $-splitter-grip-dark-color;
352
+
353
+ .oxy-splitter-panel__bar--horizontal & {
354
+ box-shadow:
355
+ 0 calc(#{$-splitter-grip-gap} * -1) 0 0 $-splitter-grip-dark-color,
356
+ 0 $-splitter-grip-gap 0 0 $-splitter-grip-dark-color;
357
+ }
358
+
359
+ .oxy-splitter-panel__bar--vertical & {
360
+ box-shadow:
361
+ calc(#{$-splitter-grip-gap} * -1) 0 0 0 $-splitter-grip-dark-color,
362
+ $-splitter-grip-gap 0 0 0 $-splitter-grip-dark-color;
363
+ }
364
+ }
365
+ }
366
+ }