@vanjana/vue-ui 0.1.118 → 0.1.122

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.
@@ -0,0 +1,40 @@
1
+ import type { Component } from 'vue';
2
+ export type IconType = 'string' | 'component';
3
+ export interface RegisteredIcon {
4
+ type: IconType;
5
+ value: string | Component;
6
+ }
7
+ declare class IconRegistry {
8
+ private icons;
9
+ /**
10
+ * Register an icon component
11
+ * @param name - Unique identifier for the icon
12
+ * @param component - Vue component to render
13
+ */
14
+ registerComponent(name: string, component: Component): void;
15
+ /**
16
+ * Register a string-based icon (e.g., FontAwesome)
17
+ * @param name - Unique identifier for the icon
18
+ * @param iconString - Icon string (e.g., 'fa-solid fa-house')
19
+ */
20
+ registerString(name: string, iconString: string): void;
21
+ /**
22
+ * Register multiple icons at once
23
+ * @param icons - Object with name as key and icon definition as value
24
+ */
25
+ registerBatch(icons: Record<string, Component | string>): void;
26
+ /**
27
+ * Get a registered icon by name
28
+ */
29
+ getIcon(name: string): RegisteredIcon | undefined;
30
+ /**
31
+ * Check if an icon is registered
32
+ */
33
+ has(name: string): boolean;
34
+ /**
35
+ * Get all registered icon names
36
+ */
37
+ getIconNames(): string[];
38
+ }
39
+ export declare const iconRegistry: IconRegistry;
40
+ export {};
@@ -3,5 +3,6 @@ export * from './debounce';
3
3
  export * from './dialog.service';
4
4
  export * from './dialog.types';
5
5
  export * from './flow';
6
+ export * from './icon-registry';
6
7
  export * from './notification.service';
7
8
  export * from './resizeObserver.service';