cd-icon-picker 1.0.1 → 1.1.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.
- package/index.ts +6 -1
- package/package.json +2 -2
- package/src/IconPicker.vue +13 -6
package/index.ts
CHANGED
|
@@ -3,12 +3,17 @@ import Icon from './src/Icon.vue';
|
|
|
3
3
|
import SvgIcon from './src/SvgIcon.vue';
|
|
4
4
|
import IconPicker from './src/IconPicker.vue';
|
|
5
5
|
|
|
6
|
+
// 别名导出
|
|
7
|
+
const CdIcon = Icon;
|
|
8
|
+
const CdSvgIcon = SvgIcon;
|
|
9
|
+
const CdIconPicker = IconPicker;
|
|
10
|
+
|
|
6
11
|
const install = (app: App) => {
|
|
7
12
|
app.component('CdIcon', Icon);
|
|
8
13
|
app.component('CdSvgIcon', SvgIcon);
|
|
9
14
|
app.component('CdIconPicker', IconPicker);
|
|
10
15
|
};
|
|
11
16
|
|
|
12
|
-
export { Icon, IconPicker, SvgIcon, install };
|
|
17
|
+
export { Icon, IconPicker, SvgIcon, CdIcon, CdSvgIcon, CdIconPicker, install };
|
|
13
18
|
|
|
14
19
|
export default IconPicker;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cd-icon-picker",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "Vue 3 icon picker supporting TDesign & RemixIcon, with custom SVG via :diy-icon.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -26,4 +26,4 @@
|
|
|
26
26
|
"remixicon",
|
|
27
27
|
"svg"
|
|
28
28
|
]
|
|
29
|
-
}
|
|
29
|
+
}
|
package/src/IconPicker.vue
CHANGED
|
@@ -225,12 +225,6 @@ function handleClick(icon: string) {
|
|
|
225
225
|
if (props.copy && navigator?.clipboard) {
|
|
226
226
|
navigator.clipboard.writeText(icon).catch(() => {});
|
|
227
227
|
}
|
|
228
|
-
if (sourceType.value === 'tdesign') emit('update:tdesign', icon);
|
|
229
|
-
else if (sourceType.value === 'remix') emit('update:remixicon', icon);
|
|
230
|
-
else emit('update:svg', icon);
|
|
231
|
-
|
|
232
|
-
emit('update:value', icon);
|
|
233
|
-
emit('change', sourceType.value as any, icon as any);
|
|
234
228
|
}
|
|
235
229
|
|
|
236
230
|
let timer: any = null;
|
|
@@ -251,10 +245,23 @@ function handleOpen() {
|
|
|
251
245
|
|
|
252
246
|
function handleConfirm() {
|
|
253
247
|
visible.value = false;
|
|
248
|
+
const icon = currentSelect.value;
|
|
249
|
+
if (!icon) return;
|
|
250
|
+
if (sourceType.value === 'tdesign') emit('update:tdesign', icon);
|
|
251
|
+
else if (sourceType.value === 'remix') emit('update:remixicon', icon);
|
|
252
|
+
else emit('update:svg', icon);
|
|
253
|
+
|
|
254
|
+
emit('update:value', icon);
|
|
255
|
+
emit('change', sourceType.value as any, icon as any);
|
|
254
256
|
}
|
|
255
257
|
|
|
256
258
|
function handleCancel() {
|
|
257
259
|
visible.value = false;
|
|
260
|
+
let v = props.value || '';
|
|
261
|
+
if (sourceType.value === 'remix' && v && !/-line$|-fill$/.test(v)) {
|
|
262
|
+
v = v + (styleType.value === 'filled' ? '-fill' : '-line');
|
|
263
|
+
}
|
|
264
|
+
currentSelect.value = v;
|
|
258
265
|
}
|
|
259
266
|
|
|
260
267
|
watch(
|