vxe-design 0.0.1 → 3.0.1

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 (219) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +48 -0
  3. package/es/components.js +28 -0
  4. package/es/flow-design/index.js +15 -0
  5. package/es/flow-design/src/flow-design.js +50 -0
  6. package/es/flow-design/src/flow-view.js +50 -0
  7. package/es/flow-design/style.css +0 -0
  8. package/es/flow-design/style.min.css +0 -0
  9. package/es/flow-view/index.js +15 -0
  10. package/es/flow-view/style.css +0 -0
  11. package/es/flow-view/style.min.css +0 -0
  12. package/es/form-design/index.js +15 -0
  13. package/es/form-design/src/form-design.js +96 -0
  14. package/es/form-design/src/form-view.js +54 -0
  15. package/es/form-design/style.css +831 -0
  16. package/es/form-design/style.min.css +1 -0
  17. package/es/form-view/index.js +15 -0
  18. package/es/form-view/style.css +3 -0
  19. package/es/form-view/style.min.css +1 -0
  20. package/es/index.esm.js +6 -0
  21. package/es/list-design/index.js +15 -0
  22. package/es/list-design/src/list-design.js +55 -0
  23. package/es/list-design/src/list-view.js +59 -0
  24. package/es/list-design/style.css +332 -0
  25. package/es/list-design/style.min.css +1 -0
  26. package/es/list-view/index.js +15 -0
  27. package/es/list-view/style.css +15 -0
  28. package/es/list-view/style.min.css +1 -0
  29. package/es/style.css +1 -0
  30. package/es/style.min.css +1 -0
  31. package/es/ui/index.js +40 -0
  32. package/es/ui/src/comp.js +1 -0
  33. package/es/ui/src/depend.js +14 -0
  34. package/es/ui/src/dom.js +221 -0
  35. package/es/ui/src/log.js +15 -0
  36. package/es/ui/src/utils.js +41 -0
  37. package/es/ui/src/vn.js +45 -0
  38. package/es/ui/style.css +0 -0
  39. package/es/ui/style.min.css +0 -0
  40. package/es/vxe-flow-design/index.js +3 -0
  41. package/es/vxe-flow-design/style.css +0 -0
  42. package/es/vxe-flow-design/style.min.css +0 -0
  43. package/es/vxe-flow-view/index.js +3 -0
  44. package/es/vxe-flow-view/style.css +0 -0
  45. package/es/vxe-flow-view/style.min.css +0 -0
  46. package/es/vxe-form-design/index.js +3 -0
  47. package/es/vxe-form-design/style.css +831 -0
  48. package/es/vxe-form-design/style.min.css +1 -0
  49. package/es/vxe-form-view/index.js +3 -0
  50. package/es/vxe-form-view/style.css +3 -0
  51. package/es/vxe-form-view/style.min.css +1 -0
  52. package/es/vxe-list-design/index.js +3 -0
  53. package/es/vxe-list-design/style.css +332 -0
  54. package/es/vxe-list-design/style.min.css +1 -0
  55. package/es/vxe-list-view/index.js +3 -0
  56. package/es/vxe-list-view/style.css +15 -0
  57. package/es/vxe-list-view/style.min.css +1 -0
  58. package/es/vxe-ui/index.js +3 -0
  59. package/es/vxe-ui/style.css +0 -0
  60. package/es/vxe-ui/style.min.css +0 -0
  61. package/helper/vetur/attributes.json +1 -0
  62. package/helper/vetur/tags.json +1 -0
  63. package/lib/components.js +102 -0
  64. package/lib/components.min.js +1 -0
  65. package/lib/flow-design/index.js +22 -0
  66. package/lib/flow-design/index.min.js +1 -0
  67. package/lib/flow-design/src/flow-design.js +59 -0
  68. package/lib/flow-design/src/flow-design.min.js +1 -0
  69. package/lib/flow-design/src/flow-view.js +59 -0
  70. package/lib/flow-design/src/flow-view.min.js +1 -0
  71. package/lib/flow-design/style/index.js +1 -0
  72. package/lib/flow-design/style/style.css +0 -0
  73. package/lib/flow-design/style/style.min.css +0 -0
  74. package/lib/flow-view/index.js +22 -0
  75. package/lib/flow-view/index.min.js +1 -0
  76. package/lib/flow-view/style/index.js +1 -0
  77. package/lib/flow-view/style/style.css +0 -0
  78. package/lib/flow-view/style/style.min.css +0 -0
  79. package/lib/form-design/index.js +22 -0
  80. package/lib/form-design/index.min.js +1 -0
  81. package/lib/form-design/src/form-design.js +120 -0
  82. package/lib/form-design/src/form-design.min.js +1 -0
  83. package/lib/form-design/src/form-view.js +63 -0
  84. package/lib/form-design/src/form-view.min.js +1 -0
  85. package/lib/form-design/style/index.js +1 -0
  86. package/lib/form-design/style/style.css +831 -0
  87. package/lib/form-design/style/style.min.css +1 -0
  88. package/lib/form-view/index.js +22 -0
  89. package/lib/form-view/index.min.js +1 -0
  90. package/lib/form-view/style/index.js +1 -0
  91. package/lib/form-view/style/style.css +3 -0
  92. package/lib/form-view/style/style.min.css +1 -0
  93. package/lib/index.common.js +25 -0
  94. package/lib/index.umd.js +6236 -0
  95. package/lib/index.umd.min.js +1 -0
  96. package/lib/list-design/index.js +22 -0
  97. package/lib/list-design/index.min.js +1 -0
  98. package/lib/list-design/src/list-design.js +64 -0
  99. package/lib/list-design/src/list-design.min.js +1 -0
  100. package/lib/list-design/src/list-view.js +67 -0
  101. package/lib/list-design/src/list-view.min.js +1 -0
  102. package/lib/list-design/style/index.js +1 -0
  103. package/lib/list-design/style/style.css +332 -0
  104. package/lib/list-design/style/style.min.css +1 -0
  105. package/lib/list-view/index.js +22 -0
  106. package/lib/list-view/index.min.js +1 -0
  107. package/lib/list-view/style/index.js +1 -0
  108. package/lib/list-view/style/style.css +15 -0
  109. package/lib/list-view/style/style.min.css +1 -0
  110. package/lib/style.css +1 -0
  111. package/lib/style.min.css +1 -0
  112. package/lib/ui/index.js +52 -0
  113. package/lib/ui/index.min.js +1 -0
  114. package/lib/ui/src/comp.js +9 -0
  115. package/lib/ui/src/comp.min.js +1 -0
  116. package/lib/ui/src/depend.js +19 -0
  117. package/lib/ui/src/depend.min.js +1 -0
  118. package/lib/ui/src/dom.js +266 -0
  119. package/lib/ui/src/dom.min.js +1 -0
  120. package/lib/ui/src/log.js +22 -0
  121. package/lib/ui/src/log.min.js +1 -0
  122. package/lib/ui/src/utils.js +56 -0
  123. package/lib/ui/src/utils.min.js +1 -0
  124. package/lib/ui/src/vn.js +57 -0
  125. package/lib/ui/src/vn.min.js +1 -0
  126. package/lib/ui/style/index.js +1 -0
  127. package/lib/ui/style/style.css +0 -0
  128. package/lib/ui/style/style.min.css +0 -0
  129. package/lib/vxe-flow-design/index.js +22 -0
  130. package/lib/vxe-flow-design/index.min.js +1 -0
  131. package/lib/vxe-flow-design/style/index.js +1 -0
  132. package/lib/vxe-flow-design/style/style.css +0 -0
  133. package/lib/vxe-flow-design/style/style.min.css +0 -0
  134. package/lib/vxe-flow-view/index.js +22 -0
  135. package/lib/vxe-flow-view/index.min.js +1 -0
  136. package/lib/vxe-flow-view/style/index.js +1 -0
  137. package/lib/vxe-flow-view/style/style.css +0 -0
  138. package/lib/vxe-flow-view/style/style.min.css +0 -0
  139. package/lib/vxe-form-design/index.js +22 -0
  140. package/lib/vxe-form-design/index.min.js +1 -0
  141. package/lib/vxe-form-design/style/index.js +1 -0
  142. package/lib/vxe-form-design/style/style.css +831 -0
  143. package/lib/vxe-form-design/style/style.min.css +1 -0
  144. package/lib/vxe-form-view/index.js +22 -0
  145. package/lib/vxe-form-view/index.min.js +1 -0
  146. package/lib/vxe-form-view/style/index.js +1 -0
  147. package/lib/vxe-form-view/style/style.css +3 -0
  148. package/lib/vxe-form-view/style/style.min.css +1 -0
  149. package/lib/vxe-list-design/index.js +22 -0
  150. package/lib/vxe-list-design/index.min.js +1 -0
  151. package/lib/vxe-list-design/style/index.js +1 -0
  152. package/lib/vxe-list-design/style/style.css +332 -0
  153. package/lib/vxe-list-design/style/style.min.css +1 -0
  154. package/lib/vxe-list-view/index.js +22 -0
  155. package/lib/vxe-list-view/index.min.js +1 -0
  156. package/lib/vxe-list-view/style/index.js +1 -0
  157. package/lib/vxe-list-view/style/style.css +15 -0
  158. package/lib/vxe-list-view/style/style.min.css +1 -0
  159. package/lib/vxe-ui/index.js +22 -0
  160. package/lib/vxe-ui/index.min.js +1 -0
  161. package/lib/vxe-ui/style/index.js +1 -0
  162. package/lib/vxe-ui/style/style.css +0 -0
  163. package/lib/vxe-ui/style/style.min.css +0 -0
  164. package/package.json +57 -25
  165. package/packages/components.ts +38 -0
  166. package/packages/flow-design/index.ts +19 -0
  167. package/packages/flow-design/src/flow-design.ts +60 -0
  168. package/packages/flow-design/src/flow-view.ts +60 -0
  169. package/packages/flow-view/index.ts +19 -0
  170. package/packages/form-design/index.ts +19 -0
  171. package/packages/form-design/src/form-design.ts +105 -0
  172. package/packages/form-design/src/form-view.ts +63 -0
  173. package/packages/form-view/index.ts +19 -0
  174. package/packages/index.ts +8 -0
  175. package/packages/list-design/index.ts +19 -0
  176. package/packages/list-design/src/list-design.ts +64 -0
  177. package/packages/list-design/src/list-view.ts +68 -0
  178. package/packages/list-view/index.ts +19 -0
  179. package/packages/ui/index.ts +49 -0
  180. package/packages/ui/src/comp.ts +3 -0
  181. package/packages/ui/src/depend.ts +14 -0
  182. package/packages/ui/src/dom.ts +243 -0
  183. package/packages/ui/src/log.ts +19 -0
  184. package/packages/ui/src/utils.ts +51 -0
  185. package/packages/ui/src/vn.ts +53 -0
  186. package/styles/all.scss +8 -0
  187. package/styles/base.scss +2 -0
  188. package/styles/components/flow-design.scss +0 -0
  189. package/styles/components/flow-view.scss +0 -0
  190. package/styles/components/form-design.scss +302 -0
  191. package/styles/components/form-view.scss +3 -0
  192. package/styles/components/list-design.scss +116 -0
  193. package/styles/components/list-item/list-item-all.scss +3 -0
  194. package/styles/components/list-item/list-item-field-column.scss +19 -0
  195. package/styles/components/list-item/list-item-field-configs.scss +43 -0
  196. package/styles/components/list-item/list-item-field-search.scss +81 -0
  197. package/styles/components/list-view.scss +16 -0
  198. package/styles/components/ui.scss +0 -0
  199. package/styles/components/widget-form/widget-form-all.scss +6 -0
  200. package/styles/components/widget-form/widget-form-empty.scss +7 -0
  201. package/styles/components/widget-form/widget-form-input.scss +0 -0
  202. package/styles/components/widget-form/widget-form-row.scss +88 -0
  203. package/styles/components/widget-form/widget-form-select.scss +0 -0
  204. package/styles/components/widget-form/widget-form-subtable.scss +204 -0
  205. package/styles/components/widget-form/widget-form-textarea.scss +0 -0
  206. package/styles/components/widget-item/widget-item-all.scss +4 -0
  207. package/styles/components/widget-item/widget-item-data-source.scss +110 -0
  208. package/styles/components/widget-item/widget-item-devices.scss +4 -0
  209. package/styles/components/widget-item/widget-item-layout.scss +87 -0
  210. package/styles/components/widget-item/widget-item-prop-list.scss +49 -0
  211. package/styles/cssvar.scss +0 -0
  212. package/styles/helpers/baseMixin.scss +105 -0
  213. package/styles/helpers/baseVar.scss +4 -0
  214. package/styles/helpers/placement.scss +39 -0
  215. package/styles/theme/dark.scss +9 -0
  216. package/styles/theme/light.scss +11 -0
  217. package/styles/variable.scss +9 -0
  218. package/types/all.d.ts +59 -0
  219. package/types/index.d.ts +4 -0
@@ -0,0 +1,204 @@
1
+ @use '../../helpers/baseMixin.scss';
2
+
3
+ .vxe-form-design--widget-subtable-view {
4
+ display: flex;
5
+ flex-direction: row;
6
+ max-width: 100%;
7
+ border-radius: var(--vxe-ui-base-border-radius);
8
+ overflow-y: hidden;
9
+ overflow-x: auto;
10
+ }
11
+ .vxe-form-design--widget-subtable-view-box {
12
+ border: 1px solid var(--vxe-ui-input-border-color);
13
+ border-width: 1px 1px 1px 0;
14
+ display: inline-flex;
15
+ flex-direction: row;
16
+ flex-wrap: nowrap;
17
+ }
18
+ .vxe-form-design--widget-subtable-view-left {
19
+ position: sticky;
20
+ left: 0;
21
+ top: 0;
22
+ display: flex;
23
+ flex-shrink: 0;
24
+ box-shadow: 8px 0px 10px -5px rgba(0,0,0,.12);
25
+ border-radius: var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);
26
+ z-index: 5;
27
+ }
28
+ .vxe-form-design--widget-subtable-view-right {
29
+ flex-grow: 1;
30
+ }
31
+ .vxe-form-design--widget-subtable-col {
32
+ position: relative;
33
+ display: flex;
34
+ flex-direction: column;
35
+ align-items: center;
36
+ justify-content: center;
37
+ flex-shrink: 0;
38
+ min-width: 54px;
39
+ text-align: center;
40
+ border-top: 1px solid var(--vxe-ui-input-border-color);
41
+ border-right: 1px solid var(--vxe-ui-input-border-color);
42
+ border-bottom: 1px solid var(--vxe-ui-input-border-color);
43
+ background-color: var(--vxe-ui-layout-background-color);
44
+ &:first-child {
45
+ border-left: 1px solid var(--vxe-ui-input-border-color);
46
+ border-radius: var(--vxe-ui-base-border-radius) 0 0 var(--vxe-ui-base-border-radius);
47
+ }
48
+ &::after {
49
+ content: "";
50
+ position: absolute;
51
+ top: 0;
52
+ left: 0;
53
+ width: 100%;
54
+ height: 100%;
55
+ z-index: 1;
56
+ }
57
+ }
58
+ .vxe-form-design--widget-subtable-head {
59
+ flex-shrink: 0;
60
+ height: 2.8em;
61
+ line-height: 2.8em;
62
+ overflow: hidden;
63
+ text-overflow: ellipsis;
64
+ white-space: nowrap;
65
+ padding: 0 var(--vxe-ui-layout-padding-default);
66
+ border-bottom: 1px solid var(--vxe-ui-input-border-color);
67
+ }
68
+ .vxe-form-design--widget-subtable-body {
69
+ flex-grow: 1;
70
+ padding: var(--vxe-ui-layout-padding-default);
71
+ }
72
+ .vxe-form-design--widget-subtable-head,
73
+ .vxe-form-design--widget-subtable-body {
74
+ width: 100%;
75
+ }
76
+ .vxe-form-design--widget-subtable-body,
77
+ .vxe-form-design--widget-subtable-view-empty {
78
+ display: flex;
79
+ flex-direction: row;
80
+ align-items: center;
81
+ justify-content: center;
82
+ }
83
+
84
+ .vxe-form-design--widget-subtable-view-wrapper {
85
+ position: relative;
86
+ display: flex;
87
+ flex-direction: row;
88
+ background-color: var(--vxe-ui-layout-background-color);
89
+ border-radius: 0 var(--vxe-ui-base-border-radius) var(--vxe-ui-base-border-radius) 0;
90
+ &::before {
91
+ content: "";
92
+ position: absolute;
93
+ top: 0;
94
+ left: 0;
95
+ width: 100%;
96
+ height: 100%;
97
+ border: 1px solid var(--vxe-ui-input-border-color);
98
+ z-index: 1;
99
+ pointer-events: none;
100
+ }
101
+ }
102
+ .vxe-form-design--widget-subtable-view-list {
103
+ display: flex;
104
+ flex-direction: row;
105
+ flex-wrap: nowrap;
106
+ & > .vxe-form-design--widget-subtable-view-item {
107
+ border-right: 1px solid var(--vxe-ui-input-border-color);
108
+ .vxe-form-design--preview-item-operate {
109
+ top: 0.4em;
110
+ }
111
+ }
112
+ }
113
+ .vxe-form-design--widget-subtable-view-list-move {
114
+ @include baseMixin.createAnimationTransition(transform, 0.35s);
115
+ }
116
+
117
+ .vxe-form-design--widget-subtable-view-item {
118
+ position: relative;
119
+ min-width: 200px;
120
+ cursor: grabbing;
121
+ &:hover {
122
+ background-color: var(--vxe-ui-form-design-sub-widget-hover-background-color);
123
+ }
124
+ &.is--active {
125
+ background: var(--vxe-ui-base-active-background-color);
126
+ &::before {
127
+ content: "";
128
+ position: absolute;
129
+ top: 0;
130
+ left: 0;
131
+ width: 100%;
132
+ height: 100%;
133
+ border: 1px dashed var(--vxe-ui-font-primary-color);
134
+ pointer-events: none;
135
+ z-index: 2;
136
+ }
137
+ }
138
+ }
139
+ .vxe-form-design--widget-subtable-view-item-box {
140
+ height: 100%;
141
+ &::after {
142
+ content: "";
143
+ position: absolute;
144
+ top: 0;
145
+ left: 0;
146
+ width: 100%;
147
+ height: 100%;
148
+ z-index: 1;
149
+ }
150
+ }
151
+
152
+ .vxe-form-design--widget-subtable-view-empty {
153
+ flex-grow: 1;
154
+ color: var(--vxe-ui-font-placeholder-color);
155
+ padding: 0 var(--vxe-ui-layout-padding-threefold);
156
+ min-height: 78px;
157
+ min-width: 200px;
158
+ cursor: default;
159
+ }
160
+
161
+ .vxe-form-design--widget-subtable-form-item {
162
+ overflow: hidden;
163
+ }
164
+ .vxe-form-design--widget-subtable-view-item-wrapper {
165
+ height: 100%;
166
+ .vxe-form--item {
167
+ &.is--vertical {
168
+ padding: 0;
169
+ .vxe-form--item-title {
170
+ height: 2.8em;
171
+ line-height: 2.8em;
172
+ padding: 0 var(--vxe-ui-layout-padding-default);
173
+ }
174
+ .vxe-form--item-content {
175
+ display: flex;
176
+ flex-direction: row;
177
+ align-items: center;
178
+ padding: 0 var(--vxe-ui-layout-padding-default);
179
+ }
180
+ }
181
+ }
182
+ .vxe-form--item-title {
183
+ border-bottom: 1px solid var(--vxe-ui-input-border-color);
184
+ }
185
+ }
186
+
187
+ .vxe-form-design--preview-item {
188
+ &.widget-subtable {
189
+ padding: 0 var(--vxe-ui-layout-padding-double);
190
+ &::after {
191
+ display: none;
192
+ }
193
+ }
194
+ .vxe-form-design--preview-item-view {
195
+ .vxe-form-design--widget-subtable-form-item {
196
+ & > .vxe-form--item-content {
197
+ padding: 0;
198
+ }
199
+ }
200
+ .vxe-form--group-content {
201
+ align-items: unset;
202
+ }
203
+ }
204
+ }
@@ -0,0 +1,4 @@
1
+ @use './widget-item-devices.scss';
2
+ @use './widget-item-layout.scss';
3
+ @use './widget-item-data-source.scss';
4
+ @use './widget-item-prop-list.scss';
@@ -0,0 +1,110 @@
1
+ @use '../../helpers/baseMixin.scss';
2
+
3
+ .vxe-form-design--widget-form-item-data-source-wrapper {
4
+ max-height: 30vh;
5
+ min-height: 140px;
6
+ overflow: auto;
7
+ }
8
+ .vxe-form-design--widget-form-item-data-source-type {
9
+ margin-bottom: 16px;
10
+ }
11
+ .vxe-form-design--widget-form-item-data-source-option {
12
+ position: relative;
13
+ display: flex;
14
+ flex-direction: row;
15
+ padding: var(--vxe-ui-layout-padding-half) 0;
16
+ &::before {
17
+ content: "";
18
+ position: absolute;
19
+ top: 0;
20
+ left: var(--vxe-ui-layout-padding-half);
21
+ width: var(--vxe-ui-layout-padding-default);
22
+ height: 100%;
23
+ border: 1px dotted var(--vxe-ui-base-popup-border-color);
24
+ border-width: 0 0 0 1px;
25
+ }
26
+ &::after {
27
+ content: "";
28
+ position: absolute;
29
+ top: 50%;
30
+ left: var(--vxe-ui-layout-padding-half);
31
+ width: var(--vxe-ui-layout-padding-default);
32
+ height: 0;
33
+ border-top: 1px dotted var(--vxe-ui-base-popup-border-color);
34
+ }
35
+ &.is--first {
36
+ &::before {
37
+ top: 50%;
38
+ height: 50%;
39
+ }
40
+ }
41
+ &.is--last {
42
+ &::before {
43
+ height: 50%;
44
+ }
45
+ }
46
+ .vxe-button {
47
+ flex-shrink: 0;
48
+ }
49
+ .vxe-form-design--widget-expand-btn {
50
+ display: flex;
51
+ flex-direction: row;
52
+ align-items: center;
53
+ width: 2em;
54
+ i {
55
+ cursor: pointer;
56
+ background-color: var(--vxe-ui-layout-background-color);
57
+ @include baseMixin.createAnimationTransition(transform, 0.1s);
58
+ z-index: 2;
59
+ }
60
+ }
61
+ }
62
+ .vxe-form-design--widget-form-item-data-source-sub-option {
63
+ position: relative;
64
+ &::before {
65
+ content: "";
66
+ position: absolute;
67
+ top: 0;
68
+ left: var(--vxe-ui-layout-padding-half);
69
+ width: var(--vxe-ui-layout-padding-default);
70
+ height: 100%;
71
+ border: 1px dotted var(--vxe-ui-base-popup-border-color);
72
+ border-width: 0 0 0 1px;
73
+ }
74
+ &:last-child {
75
+ &::before {
76
+ display: none;
77
+ }
78
+ }
79
+ .vxe-form-design--widget-form-item-data-source-option {
80
+ padding-left: var(--vxe-ui-layout-padding-double);
81
+ &:first-child {
82
+ &::before {
83
+ top: 0;
84
+ height: 50%;
85
+ }
86
+ }
87
+ &::before {
88
+ top: -50%;
89
+ left: calc(var(--vxe-ui-layout-padding-double) + 0.5em);
90
+ width: var(--vxe-ui-layout-padding-default);
91
+ height: 100%;
92
+ }
93
+ &::after {
94
+ left: calc(var(--vxe-ui-layout-padding-double) + 0.5em);
95
+ }
96
+ }
97
+ }
98
+
99
+ .vxe-form-design--widget-form-item-data-source-popup {
100
+ height: 100%;
101
+ display: flex;
102
+ flex-direction: column;
103
+ overflow: auto;
104
+ & > .vxe-textarea {
105
+ flex-grow: 1;
106
+ .vxe-textarea--inner {
107
+ height: 100%;
108
+ }
109
+ }
110
+ }
@@ -0,0 +1,4 @@
1
+ .vxe-form-design--widget-form-item-devices {
2
+ display: flex;
3
+ flex-direction: column;
4
+ }
@@ -0,0 +1,87 @@
1
+ .vxe-form-design--widget-form-item-layout {
2
+ display: flex;
3
+ flex-direction: row;
4
+ }
5
+ .vxe-form-design--widget-form-item-option {
6
+ width: 50%;
7
+ text-align: center;
8
+ padding: var(--vxe-ui-layout-padding-default);
9
+ margin: 0 var(--vxe-ui-layout-padding-default);
10
+ border: 1px solid var(--vxe-ui-input-border-color);
11
+ border-radius: var(--vxe-ui-base-border-radius);
12
+ cursor: pointer;
13
+ &.is--vertical {
14
+ .vxe-form-design--widget-form-item-option-row {
15
+ display: flex;
16
+ flex-direction: column;
17
+ &:nth-child(1) {
18
+ &::before {
19
+ content: "";
20
+ display: block;
21
+ width: 30%;
22
+ height: 1.2em;
23
+ margin: 2px;
24
+ background-color: var(--vxe-ui-font-tinge-color);
25
+ border-radius: var(--vxe-ui-base-border-radius);
26
+ }
27
+ }
28
+ &:nth-child(2) {
29
+ &::before {
30
+ content: "";
31
+ display: block;
32
+ width: 100%;
33
+ height: 1.2em;
34
+ margin: 2px;
35
+ background-color: var(--vxe-ui-font-tinge-color);
36
+ border-radius: var(--vxe-ui-base-border-radius);
37
+ }
38
+ }
39
+ }
40
+ }
41
+ &.is--horizontal {
42
+ .vxe-form-design--widget-form-item-option-row {
43
+ display: flex;
44
+ flex-direction: row;
45
+ &:nth-child(1),
46
+ &:nth-child(2) {
47
+ &::before {
48
+ content: "";
49
+ display: block;
50
+ width: 30%;
51
+ height: 1.2em;
52
+ margin: 2px;
53
+ background-color: var(--vxe-ui-font-tinge-color);
54
+ border-radius: var(--vxe-ui-base-border-radius);
55
+ }
56
+ &::after {
57
+ content: "";
58
+ display: block;
59
+ width: 70%;
60
+ height: 1.2em;
61
+ margin: 2px;
62
+ background-color: var(--vxe-ui-font-tinge-color);
63
+ border-radius: var(--vxe-ui-base-border-radius);
64
+ }
65
+ }
66
+ }
67
+ }
68
+ &:hover {
69
+ border-color: var(--vxe-ui-font-primary-color);
70
+ }
71
+ &.is--active {
72
+ color: var(--vxe-ui-font-primary-color);
73
+ border-color: var(--vxe-ui-font-primary-color);
74
+ .vxe-form-design--widget-form-item-option-row {
75
+ &:nth-child(1),
76
+ &:nth-child(2) {
77
+ &::before,
78
+ &::after {
79
+ background-color: var(--vxe-ui-font-primary-color);
80
+ }
81
+ }
82
+ }
83
+ }
84
+ }
85
+ .vxe-form-design--widget-form-item-option-row {
86
+ margin-bottom: 0.2em;
87
+ }
@@ -0,0 +1,49 @@
1
+ .vxe-form-design--widget-form-item-prop-list {
2
+ margin-bottom: var(--vxe-ui-layout-padding-double);
3
+ padding: 0 var(--vxe-ui-layout-padding-default);
4
+ &:first-child {
5
+ margin-top: var(--vxe-ui-layout-padding-default);
6
+ }
7
+ & > span {
8
+ padding: 0 0.5em;
9
+ &:first-child {
10
+ padding: 0;
11
+ padding-right: var(--vxe-ui-layout-padding-default);
12
+ }
13
+ }
14
+ & > span:first-child,
15
+ .vxe-form-design--widget-form-item-prop-width,
16
+ .vxe-form-design--widget-form-item-prop-unit {
17
+ display: inline-flex;
18
+ vertical-align: middle;
19
+ }
20
+ }
21
+
22
+ .vxe-form {
23
+ .vxe-form-design--widget-form-item-prop-list {
24
+ & > .vxe-form-design--widget-form-item-prop-width {
25
+ width: 90px;
26
+ }
27
+ & > .vxe-form-design--widget-form-item-prop-unit {
28
+ width: 90px;
29
+ }
30
+ }
31
+ }
32
+
33
+ .vxe-list-design--widget-form-item-prop-list {
34
+ margin-bottom: var(--vxe-ui-layout-padding-double);
35
+ padding: 0 var(--vxe-ui-layout-padding-default);
36
+ &:first-child {
37
+ margin-top: var(--vxe-ui-layout-padding-default);
38
+ }
39
+ &:last-child {
40
+ margin-bottom: 0;
41
+ }
42
+ & > span {
43
+ padding: 0 0.5em;
44
+ &:first-child {
45
+ padding: 0;
46
+ padding-right: var(--vxe-ui-layout-padding-default);
47
+ }
48
+ }
49
+ }
File without changes
@@ -0,0 +1,105 @@
1
+ @mixin createAnimationTransition ($property, $duration: .1s, $func: ease-in-out) {
2
+ transition: $property $duration $func;
3
+ }
4
+
5
+ @mixin createCheckboxIcon {
6
+ & {
7
+ cursor: pointer;
8
+ }
9
+ .vxe-checkbox--icon {
10
+ font-size: 1.22em;
11
+ }
12
+ .vxe-checkbox--icon {
13
+ color: var(--vxe-ui-input-border-color);
14
+ vertical-align: middle;
15
+ font-weight: 700;
16
+ user-select: none;
17
+ }
18
+ &.is--checked,
19
+ &.is--indeterminate {
20
+ color: var(--vxe-ui-font-primary-color);
21
+ .vxe-checkbox--icon {
22
+ color: var(--vxe-ui-font-primary-color);
23
+ }
24
+ }
25
+ &:not(.is--disabled) {
26
+ &:hover {
27
+ .vxe-checkbox--icon {
28
+ color: var(--vxe-ui-font-primary-color);
29
+ }
30
+ }
31
+ }
32
+ &.is--hidden {
33
+ cursor: default;
34
+ }
35
+ &.is--readonly {
36
+ cursor: auto;
37
+ }
38
+ &.is--disabled {
39
+ color: var(--vxe-ui-font-disabled-color);
40
+ cursor: not-allowed;
41
+ .vxe-checkbox--icon {
42
+ color: var(--vxe-ui-input-disabled-color);
43
+ }
44
+ }
45
+ .vxe-checkbox--label {
46
+ padding-left: 0.5em;
47
+ vertical-align: middle;
48
+ }
49
+ }
50
+
51
+ @mixin createRadioIcon {
52
+ & {
53
+ cursor: pointer;
54
+ }
55
+ .vxe-radio--icon {
56
+ font-size: 1.26em;
57
+ }
58
+ .vxe-radio--icon {
59
+ color: var(--vxe-ui-input-border-color);
60
+ border-radius: 50%;
61
+ vertical-align: middle;
62
+ font-weight: 700;
63
+ user-select: none;
64
+ }
65
+ &.is--checked {
66
+ color: var(--vxe-ui-font-primary-color);
67
+ .vxe-radio--icon {
68
+ color: var(--vxe-ui-font-primary-color);
69
+ }
70
+ }
71
+ &:not(.is--disabled) {
72
+ &:hover {
73
+ .vxe-radio--icon {
74
+ color: var(--vxe-ui-font-primary-color);
75
+ }
76
+ }
77
+ }
78
+ &.is--readonly {
79
+ cursor: auto;
80
+ }
81
+ &.is--disabled {
82
+ color: var(--vxe-ui-font-disabled-color);
83
+ cursor: not-allowed;
84
+ .vxe-radio--icon {
85
+ color: var(--vxe-ui-input-disabled-color);
86
+ }
87
+ }
88
+ .vxe-radio--label {
89
+ padding-left: 0.5em;
90
+ vertical-align: middle;
91
+ }
92
+ }
93
+
94
+ @mixin createEmptyMask {
95
+ &::after {
96
+ content: "";
97
+ position: absolute;
98
+ top: 0;
99
+ left: 0;
100
+ width: 100%;
101
+ height: 100%;
102
+ z-index: 1;
103
+ user-select: none;
104
+ }
105
+ }
@@ -0,0 +1,4 @@
1
+ // 24 栅格布局
2
+ $colSpanList: 4.16667%, 8.33333%, 12.5%, 16.66667%, 20.83333%, 25%, 29.16667%, 33.33333%,
3
+ 37.5%, 41.66667%, 45.83333%, 50%, 54.16667%, 58.33333%, 62.5%, 66.66667%,
4
+ 70.83333%, 75%, 79.16667%, 83.33333%, 87.5%, 91.66667%, 95.83333%, 100%;
@@ -0,0 +1,39 @@
1
+ @use './baseMixin.scss';
2
+
3
+ @mixin createPlacementPanel {
4
+ display: none;
5
+ position: absolute;
6
+ left: 0;
7
+ padding: 4px 0;
8
+ color: var(--vxe-ui-font-color);
9
+ text-align: left;
10
+ &:not(.is--transfer) {
11
+ min-width: 100%;
12
+ }
13
+ &.is--transfer {
14
+ position: fixed;
15
+ }
16
+ &.ani--leave {
17
+ display: block;
18
+ opacity: 0;
19
+ transform: scaleY(0.5);
20
+ transition: transform .3s cubic-bezier(.23,1,.32,1), opacity .3s cubic-bezier(.23,1,.32,1);
21
+ transform-origin: center top;
22
+ backface-visibility: hidden;
23
+ &[placement="top"] {
24
+ transform-origin: center bottom;
25
+ }
26
+ }
27
+ &.ani--enter {
28
+ opacity: 1;
29
+ transform: scaleY(1);
30
+ & > div {
31
+ &::after {
32
+ display: none;
33
+ }
34
+ }
35
+ }
36
+ & > div {
37
+ @include baseMixin.createEmptyMask();
38
+ }
39
+ }
@@ -0,0 +1,9 @@
1
+ [data-vxe-ui-theme="dark"] {
2
+ /*form-design*/
3
+ --vxe-ui-form-design-widget-hover-background-color: var(--vxe-ui-base-hover-background-color);
4
+ --vxe-ui-form-design-sub-widget-hover-background-color: #27292b;
5
+
6
+ /*list-design*/
7
+ --vxe-ui-list-design-table-border-color: #37373a;
8
+ --vxe-ui-list-design-table-header-background-color: #28282a;
9
+ }
@@ -0,0 +1,11 @@
1
+ @use '../variable.scss' as light_variable;
2
+
3
+ [data-vxe-ui-theme="light"] {
4
+ /*form-design*/
5
+ --vxe-ui-form-design-widget-hover-background-color: var(--vxe-ui-base-hover-background-color);
6
+ --vxe-ui-form-design-sub-widget-hover-background-color: #{light_variable.$vxe-ui-form-design-sub-widget-hover-background-color};
7
+
8
+ /*list-design*/
9
+ --vxe-ui-list-design-table-border-color: #{light_variable.$vxe-ui-list-design-table-border-color};
10
+ --vxe-ui-list-design-table-header-background-color: #{light_variable.$vxe-ui-list-design-table-header-background-color};
11
+ }
@@ -0,0 +1,9 @@
1
+ $vxe-ui-base-hover-background-color: rgba(0, 0, 0, 0.04) !default;
2
+
3
+ /*form-design*/
4
+ $vxe-ui-form-design-widget-hover-background-color: $vxe-ui-base-hover-background-color !default;
5
+ $vxe-ui-form-design-sub-widget-hover-background-color: rgba(0, 0, 0, 0.05) !default;
6
+
7
+ /*list-design*/
8
+ $vxe-ui-list-design-table-border-color: #e8eaec !default;
9
+ $vxe-ui-list-design-table-header-background-color: #f8f8f9 !default;