tianheng-ui 0.1.70 → 0.1.72

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.
@@ -1,37 +1,63 @@
1
1
  <template>
2
- <div>
2
+ <div class="th-icons">
3
3
  <el-popover
4
- placement="bottom-start"
5
- :title="title"
4
+ popper-class="th-icons-popover"
6
5
  :width="width"
6
+ placement="bottom-start"
7
7
  trigger="click"
8
8
  >
9
9
  <el-input
10
- :value="value"
10
+ :value="icon"
11
11
  slot="reference"
12
12
  placeholder="请选择图标"
13
13
  clearable
14
14
  @clear="handleInputClear"
15
15
  >
16
- <div v-if="value" class="input-prefix" slot="prefix">
17
- <i :class="value" class="icon" />
16
+ <div v-if="icon" class="input-prefix" slot="prefix">
17
+ <i :class="icon" class="icon" />
18
18
  </div>
19
19
  </el-input>
20
20
 
21
- <div class="th-icons">
22
- <i
23
- v-for="(icon, index) in icons"
24
- class="icon"
25
- :class="icon"
26
- :key="index"
27
- @click="handleIconClick(icon)"
28
- />
29
- </div>
21
+ <el-tabs v-model="tabsActiveName" type="border-card">
22
+ <el-tab-pane label="Tianheng图标库" name="tianheng"> </el-tab-pane>
23
+ <el-tab-pane v-if="element" label="Element图标库" name="element">
24
+ </el-tab-pane>
25
+ <el-tab-pane v-if="antDesign" label="AntDesign图标库" name="antDesign">
26
+ </el-tab-pane>
27
+ <div v-if="tabsActiveName === 'tianheng'" class="th-icons-content">
28
+ <i
29
+ v-for="(icon, index) in tianhengIcons"
30
+ class="icon"
31
+ :class="icon"
32
+ :key="index"
33
+ @click="handleIconClick(icon)"
34
+ />
35
+ </div>
36
+ <div v-if="tabsActiveName === 'element'" class="th-icons-content">
37
+ <i
38
+ v-for="(icon, index) in elementIcons"
39
+ class="icon"
40
+ :class="icon"
41
+ :key="index"
42
+ @click="handleIconClick(icon)"
43
+ />
44
+ </div>
45
+ <div v-if="tabsActiveName === 'antDesign'" class="th-icons-content">
46
+ <a-icon
47
+ v-for="(icon, index) in antDesignIcons"
48
+ class="icon"
49
+ type="step-backward"
50
+ :key="index"
51
+ @click="handleIconClick(icon)"
52
+ />
53
+ </div>
54
+ </el-tabs>
30
55
  </el-popover>
31
56
  </div>
32
57
  </template>
33
58
 
34
59
  <script>
60
+ import { tianhengIcons, elementIcons, antDesignIcons } from "./index";
35
61
  export default {
36
62
  name: "ThIcons",
37
63
  model: {
@@ -39,10 +65,6 @@ export default {
39
65
  prop: "value"
40
66
  },
41
67
  props: {
42
- title: {
43
- type: String,
44
- default: "Element图标库"
45
- },
46
68
  value: {
47
69
  type: String,
48
70
  default: ""
@@ -50,307 +72,47 @@ export default {
50
72
  width: {
51
73
  type: Number,
52
74
  default: 400
75
+ },
76
+ element: {
77
+ type: Boolean,
78
+ default: true
79
+ },
80
+ antDesign: {
81
+ type: Boolean,
82
+ default: false
53
83
  }
54
84
  },
55
85
  data() {
56
86
  return {
57
- icons: [
58
- "el-icon-platform-eleme",
59
- "el-icon-eleme",
60
- "el-icon-delete-solid",
61
- "el-icon-delete",
62
- "el-icon-s-tools",
63
- "el-icon-setting",
64
- "el-icon-user-solid",
65
- "el-icon-user",
66
- "el-icon-phone",
67
- "el-icon-phone-outline",
68
- "el-icon-more",
69
- "el-icon-more-outline",
70
- "el-icon-star-on",
71
- "el-icon-star-off",
72
- "el-icon-s-goods",
73
- "el-icon-goods",
74
- "el-icon-warning",
75
- "el-icon-warning-outline",
76
- "el-icon-question",
77
- "el-icon-info",
78
- "el-icon-remove",
79
- "el-icon-circle-plus",
80
- "el-icon-success",
81
- "el-icon-error",
82
- "el-icon-zoom-in",
83
- "el-icon-zoom-out",
84
- "el-icon-remove-outline",
85
- "el-icon-circle-plus-outline",
86
- "el-icon-circle-check",
87
- "el-icon-circle-close",
88
- "el-icon-s-help",
89
- "el-icon-help",
90
- "el-icon-minus",
91
- "el-icon-plus",
92
- "el-icon-check",
93
- "el-icon-close",
94
- "el-icon-picture",
95
- "el-icon-picture-outline",
96
- "el-icon-picture-outline-round",
97
- "el-icon-upload",
98
- "el-icon-upload2",
99
- "el-icon-download",
100
- "el-icon-camera-solid",
101
- "el-icon-camera",
102
- "el-icon-video-camera-solid",
103
- "el-icon-video-camera",
104
- "el-icon-message-solid",
105
- "el-icon-bell",
106
- "el-icon-s-cooperation",
107
- "el-icon-s-order",
108
- "el-icon-s-platform",
109
- "el-icon-s-fold",
110
- "el-icon-s-unfold",
111
- "el-icon-s-operation",
112
- "el-icon-s-promotion",
113
- "el-icon-s-home",
114
- "el-icon-s-release",
115
- "el-icon-s-ticket",
116
- "el-icon-s-management",
117
- "el-icon-s-open",
118
- "el-icon-s-shop",
119
- "el-icon-s-marketing",
120
- "el-icon-s-flag",
121
- "el-icon-s-comment",
122
- "el-icon-s-finance",
123
- "el-icon-s-claim",
124
- "el-icon-s-custom",
125
- "el-icon-s-opportunity",
126
- "el-icon-s-data",
127
- "el-icon-s-check",
128
- "el-icon-s-grid",
129
- "el-icon-menu",
130
- "el-icon-share",
131
- "el-icon-d-caret",
132
- "el-icon-caret-left",
133
- "el-icon-caret-right",
134
- "el-icon-caret-bottom",
135
- "el-icon-caret-top",
136
- "el-icon-bottom-left",
137
- "el-icon-bottom-right",
138
- "el-icon-back",
139
- "el-icon-right",
140
- "el-icon-bottom",
141
- "el-icon-top",
142
- "el-icon-top-left",
143
- "el-icon-top-right",
144
- "el-icon-arrow-left",
145
- "el-icon-arrow-right",
146
- "el-icon-arrow-down",
147
- "el-icon-arrow-up",
148
- "el-icon-d-arrow-left",
149
- "el-icon-d-arrow-right",
150
- "el-icon-video-pause",
151
- "el-icon-video-play",
152
- "el-icon-refresh",
153
- "el-icon-refresh-right",
154
- "el-icon-refresh-left",
155
- "el-icon-finished",
156
- "el-icon-sort",
157
- "el-icon-sort-up",
158
- "el-icon-sort-down",
159
- "el-icon-rank",
160
- "el-icon-loading",
161
- "el-icon-view",
162
- "el-icon-c-scale-to-original",
163
- "el-icon-date",
164
- "el-icon-edit",
165
- "el-icon-edit-outline",
166
- "el-icon-folder",
167
- "el-icon-folder-opened",
168
- "el-icon-folder-add",
169
- "el-icon-folder-remove",
170
- "el-icon-folder-delete",
171
- "el-icon-folder-checked",
172
- "el-icon-tickets",
173
- "el-icon-document-remove",
174
- "el-icon-document-delete",
175
- "el-icon-document-copy",
176
- "el-icon-document-checked",
177
- "el-icon-document",
178
- "el-icon-document-add",
179
- "el-icon-printer",
180
- "el-icon-paperclip",
181
- "el-icon-takeaway-box",
182
- "el-icon-search",
183
- "el-icon-monitor",
184
- "el-icon-attract",
185
- "el-icon-mobile",
186
- "el-icon-scissors",
187
- "el-icon-umbrella",
188
- "el-icon-headset",
189
- "el-icon-brush",
190
- "el-icon-mouse",
191
- "el-icon-coordinate",
192
- "el-icon-magic-stick",
193
- "el-icon-reading",
194
- "el-icon-data-line",
195
- "el-icon-data-board",
196
- "el-icon-pie-chart",
197
- "el-icon-data-analysis",
198
- "el-icon-collection-tag",
199
- "el-icon-film",
200
- "el-icon-suitcase",
201
- "el-icon-suitcase-1",
202
- "el-icon-receiving",
203
- "el-icon-collection",
204
- "el-icon-files",
205
- "el-icon-notebook-1",
206
- "el-icon-notebook-2",
207
- "el-icon-toilet-paper",
208
- "el-icon-office-building",
209
- "el-icon-school",
210
- "el-icon-table-lamp",
211
- "el-icon-house",
212
- "el-icon-no-smoking",
213
- "el-icon-smoking",
214
- "el-icon-shopping-cart-full",
215
- "el-icon-shopping-cart-1",
216
- "el-icon-shopping-cart-2",
217
- "el-icon-shopping-bag-1",
218
- "el-icon-shopping-bag-2",
219
- "el-icon-sold-out",
220
- "el-icon-sell",
221
- "el-icon-present",
222
- "el-icon-box",
223
- "el-icon-bank-card",
224
- "el-icon-money",
225
- "el-icon-coin",
226
- "el-icon-wallet",
227
- "el-icon-discount",
228
- "el-icon-price-tag",
229
- "el-icon-news",
230
- "el-icon-guide",
231
- "el-icon-male",
232
- "el-icon-female",
233
- "el-icon-thumb",
234
- "el-icon-cpu",
235
- "el-icon-link",
236
- "el-icon-connection",
237
- "el-icon-open",
238
- "el-icon-turn-off",
239
- "el-icon-set-up",
240
- "el-icon-chat-round",
241
- "el-icon-chat-line-round",
242
- "el-icon-chat-square",
243
- "el-icon-chat-dot-round",
244
- "el-icon-chat-dot-square",
245
- "el-icon-chat-line-square",
246
- "el-icon-message",
247
- "el-icon-postcard",
248
- "el-icon-position",
249
- "el-icon-turn-off-microphone",
250
- "el-icon-microphone",
251
- "el-icon-close-notification",
252
- "el-icon-bangzhu",
253
- "el-icon-time",
254
- "el-icon-odometer",
255
- "el-icon-crop",
256
- "el-icon-aim",
257
- "el-icon-switch-button",
258
- "el-icon-full-screen",
259
- "el-icon-copy-document",
260
- "el-icon-mic",
261
- "el-icon-stopwatch",
262
- "el-icon-medal-1",
263
- "el-icon-medal",
264
- "el-icon-trophy",
265
- "el-icon-trophy-1",
266
- "el-icon-first-aid-kit",
267
- "el-icon-discover",
268
- "el-icon-place",
269
- "el-icon-location",
270
- "el-icon-location-outline",
271
- "el-icon-location-information",
272
- "el-icon-add-location",
273
- "el-icon-delete-location",
274
- "el-icon-map-location",
275
- "el-icon-alarm-clock",
276
- "el-icon-timer",
277
- "el-icon-watch-1",
278
- "el-icon-watch",
279
- "el-icon-lock",
280
- "el-icon-unlock",
281
- "el-icon-key",
282
- "el-icon-service",
283
- "el-icon-mobile-phone",
284
- "el-icon-bicycle",
285
- "el-icon-truck",
286
- "el-icon-ship",
287
- "el-icon-basketball",
288
- "el-icon-football",
289
- "el-icon-soccer",
290
- "el-icon-baseball",
291
- "el-icon-wind-power",
292
- "el-icon-light-rain",
293
- "el-icon-lightning",
294
- "el-icon-heavy-rain",
295
- "el-icon-sunrise",
296
- "el-icon-sunrise-1",
297
- "el-icon-sunset",
298
- "el-icon-sunny",
299
- "el-icon-cloudy",
300
- "el-icon-partly-cloudy",
301
- "el-icon-cloudy-and-sunny",
302
- "el-icon-moon",
303
- "el-icon-moon-night",
304
- "el-icon-dish",
305
- "el-icon-dish-1",
306
- "el-icon-food",
307
- "el-icon-chicken",
308
- "el-icon-fork-spoon",
309
- "el-icon-knife-fork",
310
- "el-icon-burger",
311
- "el-icon-tableware",
312
- "el-icon-sugar",
313
- "el-icon-dessert",
314
- "el-icon-ice-cream",
315
- "el-icon-hot-water",
316
- "el-icon-water-cup",
317
- "el-icon-coffee-cup",
318
- "el-icon-cold-drink",
319
- "el-icon-goblet",
320
- "el-icon-goblet-full",
321
- "el-icon-goblet-square",
322
- "el-icon-goblet-square-full",
323
- "el-icon-refrigerator",
324
- "el-icon-grape",
325
- "el-icon-watermelon",
326
- "el-icon-cherry",
327
- "el-icon-apple",
328
- "el-icon-pear",
329
- "el-icon-orange",
330
- "el-icon-coffee",
331
- "el-icon-ice-tea",
332
- "el-icon-ice-drink",
333
- "el-icon-milk-tea",
334
- "el-icon-potato-strips",
335
- "el-icon-lollipop",
336
- "el-icon-ice-cream-square",
337
- "el-icon-ice-cream-round"
338
- ]
87
+ icon: this.value,
88
+ tabsActiveName: "tianheng",
89
+ tianhengIcons: tianhengIcons,
90
+ elementIcons: elementIcons,
91
+ antDesignIcons: antDesignIcons
339
92
  };
340
93
  },
94
+ watch: {
95
+ icon(val) {
96
+ this.$emit("input", val);
97
+ this.$emit("update:value", val);
98
+ },
99
+ value(val) {
100
+ this.icon = val;
101
+ }
102
+ },
341
103
  created() {},
342
104
  methods: {
343
105
  handleIconClick(icon) {
344
- this.$emit("input", icon);
106
+ this.icon = icon;
345
107
  },
346
108
  handleInputClear() {
347
- this.$emit("input", "");
109
+ this.icon = "";
348
110
  }
349
111
  }
350
112
  };
351
113
  </script>
352
114
 
353
- <style lang="less" scoped>
115
+ <style lang="scss" scoped>
354
116
  .input-prefix {
355
117
  height: 100%;
356
118
  width: 32px;
@@ -360,18 +122,27 @@ export default {
360
122
  font-size: 20px;
361
123
  }
362
124
  }
363
- .th-icons {
125
+ .th-icons-content {
364
126
  height: 300px;
365
127
  overflow-y: scroll;
366
128
  .icon {
129
+ display: inline-block;
130
+ width: 36px;
131
+ height: 36px;
367
132
  padding: 8px;
368
133
  font-size: 20px;
369
134
  border-radius: 2px;
135
+ transition: 0.25s;
370
136
  }
371
137
  .icon:hover {
372
138
  cursor: pointer;
373
139
  background-color: #f2f2f2;
374
- // transition: .3s;
375
140
  }
376
141
  }
377
142
  </style>
143
+
144
+ <style lang="scss">
145
+ .th-icons-popover {
146
+ padding: 0 !important;
147
+ }
148
+ </style>