@idooel/components 0.0.2-beta.3 → 0.0.2-beta.31

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 (113) hide show
  1. package/README.md +98 -98
  2. package/dist/@idooel/components.esm.js +3599 -1574
  3. package/dist/@idooel/components.umd.js +3653 -1629
  4. package/jsconfig.json +7 -7
  5. package/package.json +64 -50
  6. package/packages/alert/index.js +4 -4
  7. package/packages/alert/src/index.vue +45 -45
  8. package/packages/batch-export/index.js +4 -4
  9. package/packages/batch-export/src/index.vue +104 -104
  10. package/packages/business-components/modal-fsm/index.js +4 -4
  11. package/packages/business-components/modal-fsm/src/index.vue +163 -163
  12. package/packages/business-components/modal-import/index.js +4 -4
  13. package/packages/business-components/modal-import/src/index.vue +222 -139
  14. package/packages/business-components/modal-timeline/index.js +4 -4
  15. package/packages/business-components/modal-timeline/src/index.vue +77 -77
  16. package/packages/business-components/tabs-sub-center/index.js +4 -4
  17. package/packages/business-components/tabs-sub-center/src/index.vue +116 -116
  18. package/packages/button/index.js +4 -4
  19. package/packages/button/src/index.vue +65 -65
  20. package/packages/checkbox/index.js +4 -4
  21. package/packages/checkbox/src/index.vue +52 -52
  22. package/packages/composite-components/button-group/index.js +4 -4
  23. package/packages/composite-components/button-group/src/index.vue +151 -151
  24. package/packages/composite-components/form-attachment/src/index.vue +14 -14
  25. package/packages/composite-components/form-img-crop/index.js +4 -4
  26. package/packages/composite-components/form-img-crop/src/index.vue +131 -131
  27. package/packages/composite-components/modal-confirm/index.js +4 -4
  28. package/packages/composite-components/modal-confirm/src/index.vue +103 -103
  29. package/packages/composite-components/modal-form/index.js +4 -4
  30. package/packages/composite-components/modal-form/src/index.vue +230 -230
  31. package/packages/composite-components/modal-img-crop/index.js +4 -4
  32. package/packages/composite-components/modal-img-crop/src/index.vue +298 -298
  33. package/packages/composite-components/modal-table/index.js +4 -4
  34. package/packages/composite-components/modal-table/src/index.vue +155 -155
  35. package/packages/composite-components/modal-tree/index.js +4 -4
  36. package/packages/composite-components/modal-tree/src/index.vue +75 -75
  37. package/packages/composite-components/search-area/index.js +4 -4
  38. package/packages/composite-components/search-area/src/index.vue +239 -237
  39. package/packages/composite-components/search-area/src/label.vue +35 -35
  40. package/packages/composite-components/select-entity-modal-table/index.js +4 -4
  41. package/packages/composite-components/select-entity-modal-table/src/index.vue +171 -171
  42. package/packages/date/index.js +4 -4
  43. package/packages/date/src/index.vue +112 -112
  44. package/packages/date-range/index.js +4 -4
  45. package/packages/date-range/src/index.vue +47 -47
  46. package/packages/form/index.js +4 -4
  47. package/packages/form/src/index.vue +393 -319
  48. package/packages/icon/index.js +4 -4
  49. package/packages/icon/src/index.vue +31 -31
  50. package/packages/index.js +159 -153
  51. package/packages/input/index.js +4 -4
  52. package/packages/input/src/index.vue +35 -35
  53. package/packages/input-number/index.js +4 -4
  54. package/packages/input-number/src/index.vue +23 -23
  55. package/packages/loading/index.js +4 -4
  56. package/packages/loading/src/index.vue +36 -36
  57. package/packages/meta/provider.js +4 -0
  58. package/packages/modal/index.js +4 -4
  59. package/packages/modal/src/index.vue +184 -184
  60. package/packages/models/form-group-model/index.js +4 -4
  61. package/packages/models/form-group-model/src/index.vue +271 -273
  62. package/packages/models/form-model/index.js +4 -4
  63. package/packages/models/form-model/src/index.vue +236 -232
  64. package/packages/models/step-model/index.js +4 -4
  65. package/packages/models/step-model/src/index.vue +224 -224
  66. package/packages/models/tree-table-model/README.md +0 -0
  67. package/packages/models/tree-table-model/index.js +4 -4
  68. package/packages/models/tree-table-model/src/index.vue +963 -689
  69. package/packages/pagination/index.js +5 -0
  70. package/packages/pagination/src/index.vue +372 -0
  71. package/packages/radio/index.js +4 -4
  72. package/packages/radio/src/index.vue +56 -56
  73. package/packages/select/index.js +4 -4
  74. package/packages/select/src/index.vue +113 -105
  75. package/packages/select-entity/index.js +4 -4
  76. package/packages/select-entity/src/index.vue +119 -119
  77. package/packages/table/index.js +4 -4
  78. package/packages/table/src/action.vue +176 -172
  79. package/packages/table/src/index.vue +605 -319
  80. package/packages/tabs/index.js +4 -4
  81. package/packages/tabs/src/index.vue +55 -55
  82. package/packages/text/index.js +4 -4
  83. package/packages/text/src/index.vue +47 -47
  84. package/packages/text-editor/index.js +4 -4
  85. package/packages/text-editor/src/index.vue +72 -72
  86. package/packages/textarea/index.js +4 -4
  87. package/packages/textarea/src/index.vue +57 -57
  88. package/packages/theme/form.scss +21 -21
  89. package/packages/theme/index.scss +43 -43
  90. package/packages/theme/overrid.scss +7 -7
  91. package/packages/theme/styleClass.scss +2 -2
  92. package/packages/theme/variables.scss +55 -55
  93. package/packages/timeline/index.js +4 -4
  94. package/packages/timeline/src/index.vue +257 -257
  95. package/packages/tpl/index.js +4 -4
  96. package/packages/tpl/src/index.vue +55 -55
  97. package/packages/tree/index.js +4 -4
  98. package/packages/tree/src/TreeNode.vue +29 -29
  99. package/packages/tree/src/index.vue +101 -101
  100. package/packages/tree-select/index.js +4 -4
  101. package/packages/tree-select/src/index.vue +142 -142
  102. package/packages/upload/index.js +4 -4
  103. package/packages/upload/src/index.vue +998 -494
  104. package/packages/utils/README.md +172 -0
  105. package/packages/utils/index.js +66 -62
  106. package/packages/utils/runtime-context/dataPoolAPI.js +501 -0
  107. package/packages/utils/runtime-context/globalDataPool.js +279 -0
  108. package/packages/utils/runtime-context/index.js +76 -0
  109. package/packages/utils/runtime-context/modelSchema.js +174 -0
  110. package/scripts/rollup.config.js +42 -42
  111. package/scripts/rollup.esm.config.js +11 -11
  112. package/scripts/rollup.umd.config.js +17 -14
  113. package/vitest.config.js +17 -0
@@ -1,5 +1,5 @@
1
- import EleImgCrop from './src/index.vue'
2
-
3
- EleImgCrop.install = Vue => Vue.component(EleImgCrop.name, EleImgCrop)
4
-
1
+ import EleImgCrop from './src/index.vue'
2
+
3
+ EleImgCrop.install = Vue => Vue.component(EleImgCrop.name, EleImgCrop)
4
+
5
5
  export default EleImgCrop
@@ -1,299 +1,299 @@
1
- <template>
2
- <div>
3
- <ele-modal
4
- :ref="getEleModal"
5
- :title="title"
6
- :cancelText="cancelText"
7
- :maskClosable="maskClosable"
8
- v-on="$listeners"
9
- :size="size"
10
- :value="value"
11
- @ok="handleOk"
12
- @cancel="handleCancel"
13
- :showDefaultFooter="true"
14
- >
15
- <div class="ele-imgCrop__wrapper">
16
- <div class="ele-imgCrop__left ele-imgCrop__item">
17
- <div class="ele-imgCrop__noImg">
18
- <ele-upload v-if="!fileId" v-bind="uploadFileConfig" class="ele-img-crop__upload" @on-success="onUploadFileSuccess" icon="inbox" url="api/zuul/api-file/workbench/file"></ele-upload>
19
- <template v-else>
20
- <img :ref="leftImage" class="img-crop-left__image" :src="imageUrl" alt="">
21
- </template>
22
- </div>
23
- <div class="margin-t-8">
24
- <span v-if="imgtips" class="ele-imgCrop__font1 ele-imgCrop__tips" :class="isFail? 'ele-imgCrop__error' : ''">{{ imgtips }}</span>
25
- <template v-else>
26
- <span class="ele-imgCrop__font1">{{ fileName }}</span>
27
- <a-icon v-if="fileId || fileName" @click="handleClickDeleteFile" type="close" style="cursor: pointer;float: right; line-height: 24px;"/>
28
- </template>
29
- </div>
30
- </div>
31
- <div class="ele-imgCrop__right ele-imgCrop__item">
32
- <span v-if="!fileId" class="ele-imgCrop__font2">左侧上传图片后可预览</span>
33
- <template v-else>
34
- <img class="img-crop-right__image" :src="previewBase" alt="">
35
- </template>
36
- </div>
37
- </div>
38
- </ele-modal>
39
- </div>
40
- </template>
41
-
42
- <script>
43
- import { v4 as uuidv4 } from 'uuid'
44
- import Cropper from 'cropperjs'
45
- import { util, net } from '@idooel/shared'
46
- export default {
47
- name: 'ele-modal-img-crop',
48
- model: {
49
- event: 'input',
50
- prop: 'value'
51
- },
52
- props: {
53
- title: {
54
- type: String,
55
- default: '图像裁剪'
56
- },
57
- uploadFileConfig: {
58
- type: Object,
59
- default: () => {
60
- return {
61
- size: 10,
62
- accept: '*',
63
- byteConversion: 1024 * 1024
64
- }
65
- }
66
- },
67
- imageId: {
68
- type: String
69
- },
70
- maskClosable: {
71
- type: Boolean,
72
- default () {
73
- return false
74
- }
75
- },
76
- size: {
77
- type: String,
78
- default () {
79
- return 'big'
80
- }
81
- },
82
- value: {
83
- type: Boolean,
84
- default () {
85
- return false
86
- }
87
- },
88
- cropperConfig: {
89
- type: Object,
90
- default: () => {
91
- return {
92
- aspectRatio: 16 / 9
93
- }
94
- }
95
- }
96
- },
97
- data () {
98
- return {
99
- haveImg: false,
100
- imgtips: null,
101
- isFail: false,
102
- cancelText: '取消',
103
- fileName: null,
104
- fileId: null,
105
- previewBase: null,
106
- cropper: null
107
- }
108
- },
109
- computed: {
110
- leftImage () {
111
- return uuidv4()
112
- },
113
- imageUrl () {
114
- return `/api-file/workbench/file/stream/${this.fileId}?origin=true`
115
- },
116
- getEleModal () {
117
- return uuidv4()
118
- }
119
- },
120
- watch: {
121
- value: {
122
- handler (value) {
123
- this.fileId = this.imageId
124
- if (value && this.fileId) {
125
- setTimeout(() => {
126
- this.initCropper()
127
- })
128
- }
129
- },
130
- immediate: true
131
- }
132
- },
133
- methods: {
134
- handleCancel () {
135
- this.$emit('input', false)
136
- this.$emit('change', this.fileId)
137
- },
138
- handleClickDeleteFile () {
139
- this.fileId = null
140
- this.fileName = null
141
- this.cropper && this.cropper.destroy()
142
- },
143
- blobToFile(blob, fileName = 'file.png') {
144
- return new File([blob], fileName, {
145
- type: blob.type,
146
- lastModified: Date.now()
147
- })
148
- },
149
- handleOk () {
150
- this.cropper && this.cropper.getCroppedCanvas().toBlob(async (blob) => {
151
- await this.uploadFile(this.blobToFile(blob, this.fileName))
152
- this.$emit('input', false)
153
- this.$emit('change', this.fileId)
154
- })
155
- },
156
- async uploadFile (file) {
157
- const formData = new FormData()
158
- formData.append('serviceCode', 'cover-image')
159
- formData.append('_t', Math.random())
160
- formData.append('file', file)
161
- await net.post(
162
- 'zuul/api-file/workbench/file' + '?_csrf=' + localStorage.getItem('token'),
163
- formData
164
- ).then((resp) => {
165
- const { data: { fileID } } = resp
166
- this.fileId = fileID
167
- })
168
- },
169
- initCropper () {
170
- let previewReady = false
171
- this.cropper = new Cropper(this.$refs[this.leftImage], {
172
- aspectRatio: this.cropperConfig.aspectRatio,
173
- ready: () => {
174
- previewReady = true
175
- },
176
- crop: util.debounce(() => {
177
- if (!previewReady) {
178
- return
179
- }
180
- this.previewBase = this.cropper.getCroppedCanvas().toDataURL()
181
- }, 200)
182
- })
183
- },
184
- onUploadFileSuccess (props) {
185
- const { response: { data: { fileID } }, name } = props
186
- this.fileId = fileID
187
- this.fileName = name
188
- this.$nextTick(() => {
189
- this.initCropper()
190
- })
191
- }
192
- }
193
- }
194
- </script>
195
-
196
- <style lang="scss" scoped>
197
- ::v-deep .ant-modal-body {
198
- padding: 16px;
199
- }
200
- ::v-deep .ant-modal-header {
201
- padding: 16px;
202
- }
203
- .ele-imgCrop__wrapper {
204
- display: flex;
205
- gap: 16px;
206
- justify-content: center;
207
- margin-bottom: 30px;
208
- .ele-imgCrop__left {
209
- .ele-imgCrop__noImg {
210
- display: flex;
211
- flex-direction: column;
212
- justify-content: center;
213
- align-items: center;
214
- width: 100%;
215
- height: 100%;
216
- position: relative;
217
- .img-crop-left__image {
218
- width: 100%;
219
- height: 100%;
220
- }
221
- .ele-img-crop__upload {
222
- width: 100%;
223
- height: 100%;
224
- ::v-deep .ele-upload__inner {
225
- height: 100%;
226
- border: unset;
227
- background: transparent !important;
228
- .ele-upload__area {
229
- display: flex;
230
- flex-direction: column;
231
- height: 100%;
232
- align-items: center;
233
- justify-content: center;
234
- .ele-upload__area--text {
235
- margin-top: 16px;
236
- display: flex;
237
- flex-direction: column;
238
- align-items: center;
239
- }
240
- }
241
- }
242
- }
243
- .ele-imgCrop__font1 {
244
- color: var(--idoole-black-088);
245
- font-size: 16px;
246
- line-height: 24px !important;
247
- }
248
- .ele-imgCrop__font2 {
249
- color: var(--idoole-black-06);
250
- font-size: 14px;
251
- line-height: 22px;
252
- }
253
- }
254
- .ele-imgCrop__update {
255
- position: absolute;
256
- top: 0;
257
- left: 0;
258
- width: 100%;
259
- height: 100%;
260
- opacity: 0;
261
- cursor: pointer;
262
- }
263
- }
264
- .ele-imgCrop__right {
265
- position: relative;
266
- span {
267
- position: absolute;
268
- top: 50%;
269
- left: 50%;
270
- transform: translate(-50%, -50%);
271
- }
272
- .img-crop-right__image {
273
- width: 100%;
274
- height: 100%;
275
- }
276
- }
277
- .ele-imgCrop__item {
278
- width: 480px;
279
- height: 300px;
280
- border-radius: 2px;
281
- border: 1px dashed var(--idooel-form-title-border-color);
282
- background: var(--idooel-form-upload-bg-color);
283
- }
284
- }
285
- .ele-imgCrop__tips {
286
- float: left;
287
- width: 80%;
288
- }
289
- .ele-imgCrop__error {
290
- color: var(--idooel-form-border-err-color) !important;
291
- }
292
- .ele-imgCrop__error2 {
293
- color: var(--idooel-img-crop-err-color) !important;
294
- }
295
- .ele-imgCrop__icon {
296
- font-size: 48px;
297
- color: var(--idooel-link-06);
298
- }
1
+ <template>
2
+ <div>
3
+ <ele-modal
4
+ :ref="getEleModal"
5
+ :title="title"
6
+ :cancelText="cancelText"
7
+ :maskClosable="maskClosable"
8
+ v-on="$listeners"
9
+ :size="size"
10
+ :value="value"
11
+ @ok="handleOk"
12
+ @cancel="handleCancel"
13
+ :showDefaultFooter="true"
14
+ >
15
+ <div class="ele-imgCrop__wrapper">
16
+ <div class="ele-imgCrop__left ele-imgCrop__item">
17
+ <div class="ele-imgCrop__noImg">
18
+ <ele-upload v-if="!fileId" v-bind="uploadFileConfig" class="ele-img-crop__upload" @on-success="onUploadFileSuccess" icon="inbox" url="api/zuul/api-file/workbench/file"></ele-upload>
19
+ <template v-else>
20
+ <img :ref="leftImage" class="img-crop-left__image" :src="imageUrl" alt="">
21
+ </template>
22
+ </div>
23
+ <div class="margin-t-8">
24
+ <span v-if="imgtips" class="ele-imgCrop__font1 ele-imgCrop__tips" :class="isFail? 'ele-imgCrop__error' : ''">{{ imgtips }}</span>
25
+ <template v-else>
26
+ <span class="ele-imgCrop__font1">{{ fileName }}</span>
27
+ <a-icon v-if="fileId || fileName" @click="handleClickDeleteFile" type="close" style="cursor: pointer;float: right; line-height: 24px;"/>
28
+ </template>
29
+ </div>
30
+ </div>
31
+ <div class="ele-imgCrop__right ele-imgCrop__item">
32
+ <span v-if="!fileId" class="ele-imgCrop__font2">左侧上传图片后可预览</span>
33
+ <template v-else>
34
+ <img class="img-crop-right__image" :src="previewBase" alt="">
35
+ </template>
36
+ </div>
37
+ </div>
38
+ </ele-modal>
39
+ </div>
40
+ </template>
41
+
42
+ <script>
43
+ import { v4 as uuidv4 } from 'uuid'
44
+ import Cropper from 'cropperjs'
45
+ import { util, net } from '@idooel/shared'
46
+ export default {
47
+ name: 'ele-modal-img-crop',
48
+ model: {
49
+ event: 'input',
50
+ prop: 'value'
51
+ },
52
+ props: {
53
+ title: {
54
+ type: String,
55
+ default: '图像裁剪'
56
+ },
57
+ uploadFileConfig: {
58
+ type: Object,
59
+ default: () => {
60
+ return {
61
+ size: 10,
62
+ accept: '*',
63
+ byteConversion: 1024 * 1024
64
+ }
65
+ }
66
+ },
67
+ imageId: {
68
+ type: String
69
+ },
70
+ maskClosable: {
71
+ type: Boolean,
72
+ default () {
73
+ return false
74
+ }
75
+ },
76
+ size: {
77
+ type: String,
78
+ default () {
79
+ return 'big'
80
+ }
81
+ },
82
+ value: {
83
+ type: Boolean,
84
+ default () {
85
+ return false
86
+ }
87
+ },
88
+ cropperConfig: {
89
+ type: Object,
90
+ default: () => {
91
+ return {
92
+ aspectRatio: 16 / 9
93
+ }
94
+ }
95
+ }
96
+ },
97
+ data () {
98
+ return {
99
+ haveImg: false,
100
+ imgtips: null,
101
+ isFail: false,
102
+ cancelText: '取消',
103
+ fileName: null,
104
+ fileId: null,
105
+ previewBase: null,
106
+ cropper: null
107
+ }
108
+ },
109
+ computed: {
110
+ leftImage () {
111
+ return uuidv4()
112
+ },
113
+ imageUrl () {
114
+ return `/api-file/workbench/file/stream/${this.fileId}?origin=true`
115
+ },
116
+ getEleModal () {
117
+ return uuidv4()
118
+ }
119
+ },
120
+ watch: {
121
+ value: {
122
+ handler (value) {
123
+ this.fileId = this.imageId
124
+ if (value && this.fileId) {
125
+ setTimeout(() => {
126
+ this.initCropper()
127
+ })
128
+ }
129
+ },
130
+ immediate: true
131
+ }
132
+ },
133
+ methods: {
134
+ handleCancel () {
135
+ this.$emit('input', false)
136
+ this.$emit('change', this.fileId)
137
+ },
138
+ handleClickDeleteFile () {
139
+ this.fileId = null
140
+ this.fileName = null
141
+ this.cropper && this.cropper.destroy()
142
+ },
143
+ blobToFile(blob, fileName = 'file.png') {
144
+ return new File([blob], fileName, {
145
+ type: blob.type,
146
+ lastModified: Date.now()
147
+ })
148
+ },
149
+ handleOk () {
150
+ this.cropper && this.cropper.getCroppedCanvas().toBlob(async (blob) => {
151
+ await this.uploadFile(this.blobToFile(blob, this.fileName))
152
+ this.$emit('input', false)
153
+ this.$emit('change', this.fileId)
154
+ })
155
+ },
156
+ async uploadFile (file) {
157
+ const formData = new FormData()
158
+ formData.append('serviceCode', 'cover-image')
159
+ formData.append('_t', Math.random())
160
+ formData.append('file', file)
161
+ await net.post(
162
+ 'zuul/api-file/workbench/file' + '?_csrf=' + localStorage.getItem('token'),
163
+ formData
164
+ ).then((resp) => {
165
+ const { data: { fileID } } = resp
166
+ this.fileId = fileID
167
+ })
168
+ },
169
+ initCropper () {
170
+ let previewReady = false
171
+ this.cropper = new Cropper(this.$refs[this.leftImage], {
172
+ aspectRatio: this.cropperConfig.aspectRatio,
173
+ ready: () => {
174
+ previewReady = true
175
+ },
176
+ crop: util.debounce(() => {
177
+ if (!previewReady) {
178
+ return
179
+ }
180
+ this.previewBase = this.cropper.getCroppedCanvas().toDataURL()
181
+ }, 200)
182
+ })
183
+ },
184
+ onUploadFileSuccess (props) {
185
+ const { response: { data: { fileID } }, name } = props
186
+ this.fileId = fileID
187
+ this.fileName = name
188
+ this.$nextTick(() => {
189
+ this.initCropper()
190
+ })
191
+ }
192
+ }
193
+ }
194
+ </script>
195
+
196
+ <style lang="scss" scoped>
197
+ ::v-deep .ant-modal-body {
198
+ padding: 16px;
199
+ }
200
+ ::v-deep .ant-modal-header {
201
+ padding: 16px;
202
+ }
203
+ .ele-imgCrop__wrapper {
204
+ display: flex;
205
+ gap: 16px;
206
+ justify-content: center;
207
+ margin-bottom: 30px;
208
+ .ele-imgCrop__left {
209
+ .ele-imgCrop__noImg {
210
+ display: flex;
211
+ flex-direction: column;
212
+ justify-content: center;
213
+ align-items: center;
214
+ width: 100%;
215
+ height: 100%;
216
+ position: relative;
217
+ .img-crop-left__image {
218
+ width: 100%;
219
+ height: 100%;
220
+ }
221
+ .ele-img-crop__upload {
222
+ width: 100%;
223
+ height: 100%;
224
+ ::v-deep .ele-upload__inner {
225
+ height: 100%;
226
+ border: unset;
227
+ background: transparent !important;
228
+ .ele-upload__area {
229
+ display: flex;
230
+ flex-direction: column;
231
+ height: 100%;
232
+ align-items: center;
233
+ justify-content: center;
234
+ .ele-upload__area--text {
235
+ margin-top: 16px;
236
+ display: flex;
237
+ flex-direction: column;
238
+ align-items: center;
239
+ }
240
+ }
241
+ }
242
+ }
243
+ .ele-imgCrop__font1 {
244
+ color: var(--idoole-black-088);
245
+ font-size: 16px;
246
+ line-height: 24px !important;
247
+ }
248
+ .ele-imgCrop__font2 {
249
+ color: var(--idoole-black-06);
250
+ font-size: 14px;
251
+ line-height: 22px;
252
+ }
253
+ }
254
+ .ele-imgCrop__update {
255
+ position: absolute;
256
+ top: 0;
257
+ left: 0;
258
+ width: 100%;
259
+ height: 100%;
260
+ opacity: 0;
261
+ cursor: pointer;
262
+ }
263
+ }
264
+ .ele-imgCrop__right {
265
+ position: relative;
266
+ span {
267
+ position: absolute;
268
+ top: 50%;
269
+ left: 50%;
270
+ transform: translate(-50%, -50%);
271
+ }
272
+ .img-crop-right__image {
273
+ width: 100%;
274
+ height: 100%;
275
+ }
276
+ }
277
+ .ele-imgCrop__item {
278
+ width: 480px;
279
+ height: 300px;
280
+ border-radius: 2px;
281
+ border: 1px dashed var(--idooel-form-title-border-color);
282
+ background: var(--idooel-form-upload-bg-color);
283
+ }
284
+ }
285
+ .ele-imgCrop__tips {
286
+ float: left;
287
+ width: 80%;
288
+ }
289
+ .ele-imgCrop__error {
290
+ color: var(--idooel-form-border-err-color) !important;
291
+ }
292
+ .ele-imgCrop__error2 {
293
+ color: var(--idooel-img-crop-err-color) !important;
294
+ }
295
+ .ele-imgCrop__icon {
296
+ font-size: 48px;
297
+ color: var(--idooel-link-06);
298
+ }
299
299
  </style>
@@ -1,5 +1,5 @@
1
- import EleModalTable from './src/index.vue'
2
-
3
- EleModalTable.install = Vue => Vue.component(EleModalTable.name, EleModalTable)
4
-
1
+ import EleModalTable from './src/index.vue'
2
+
3
+ EleModalTable.install = Vue => Vue.component(EleModalTable.name, EleModalTable)
4
+
5
5
  export default EleModalTable