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 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.0.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
+ }
@@ -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(