@featherk/icons 0.1.0

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/README.md ADDED
@@ -0,0 +1,20 @@
1
+ # @featherk/icons
2
+
3
+ Small package providing a set of SVG icons consumable by Kendo UI's `SvgIcon` component.
4
+
5
+ Usage
6
+
7
+ Import the helper and pass the returned object to Kendo's `SvgIcon`:
8
+
9
+ ```ts
10
+ import { getCustomIcon } from "@featherk/icons";
11
+ import { SVGIcon } from "@progress/kendo-vue-common";
12
+
13
+ const icon = getCustomIcon("Search");
14
+ // render with Kendo's SvgIcon component
15
+ ```
16
+
17
+ Notes
18
+
19
+ - The package is built with Vite and emits types via `vue-tsc`.
20
+ - It declares `@progress/kendo-vue-common` as a peer dependency.
@@ -0,0 +1,3 @@
1
+ import { type SVGIcon } from "@progress/kendo-vue-common";
2
+ export type CustomIcon = "ambulance" | "help" | "search";
3
+ export declare const icons: SVGIcon[];
@@ -0,0 +1,26 @@
1
+ const o = [
2
+ {
3
+ name: "help",
4
+ content: '<path d="M12.61,6A4,4,0,0,0,8,9.41a.51.51,0,0,0,.5.59h.9c.34,0,.55-.15.59-.37a2,2,0,0,1,4,.51c-.13,1.73-2.63,1.7-3,4.28a.52.52,0,0,0,.5.58h1a.48.48,0,0,0,.48-.39c.35-2,3.33-2.3,2.93-5.1A4.08,4.08,0,0,0,12.61,6Z"/><rect x="11" y="16" width="2" height="2" rx="0.5"/><path d="M12,2A10,10,0,1,0,22,12,10,10,0,0,0,12,2Zm0,18a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"/>',
5
+ viewBox: "0 0 24 24"
6
+ },
7
+ {
8
+ name: "search",
9
+ content: '<path d="M20.71,19.29l-6-6A6.48,6.48,0,0,0,10.86,3.14,6.5,6.5,0,0,0,7.58,15.71a6.43,6.43,0,0,0,5.74-1l6,6a1,1,0,0,0,1.42,0A1,1,0,0,0,20.71,19.29ZM9.5,14A4.5,4.5,0,1,1,14,9.5,4.49,4.49,0,0,1,9.5,14Z"/>',
10
+ viewBox: "0 0 24 24"
11
+ },
12
+ {
13
+ name: "ambulance",
14
+ content: '<path d="M22.3,9.4,16.56,4.48A2,2,0,0,0,15.26,4H14a1,1,0,0,0-1-1H11a1,1,0,0,0-1,1H3A2,2,0,0,0,1,6V16a1,1,0,0,0,1,1H3a3,3,0,0,0,6,0h6a3,3,0,0,0,6,0h1a1,1,0,0,0,1-1V10.92A2,2,0,0,0,22.3,9.4ZM15,6l5,4H14V6Zm6,9h-.78a3,3,0,0,0-4.44,0H8.22a3,3,0,0,0-4.44,0H3V6h9v5a1,1,0,0,0,1,1h8Z"/><polygon points="8 7 7 7 7 9 5 9 5 10 7 10 7 12 8 12 8 10 10 10 10 9 8 9 8 7"/>',
15
+ viewBox: "0 0 24 24"
16
+ }
17
+ ], e = (a) => {
18
+ const t = o.find((n) => n.name === a.toLowerCase());
19
+ if (!t)
20
+ throw new Error(`Icon ${a} not found`);
21
+ return t;
22
+ };
23
+ export {
24
+ e as getCustomIcon,
25
+ o as icons
26
+ };
@@ -0,0 +1 @@
1
+ (function(e,n){typeof exports=="object"&&typeof module<"u"?n(exports):typeof define=="function"&&define.amd?define(["exports"],n):(e=typeof globalThis<"u"?globalThis:e||self,n(e.FeatherKIcons={}))})(this,(function(e){"use strict";const n=[{name:"help",content:'<path d="M12.61,6A4,4,0,0,0,8,9.41a.51.51,0,0,0,.5.59h.9c.34,0,.55-.15.59-.37a2,2,0,0,1,4,.51c-.13,1.73-2.63,1.7-3,4.28a.52.52,0,0,0,.5.58h1a.48.48,0,0,0,.48-.39c.35-2,3.33-2.3,2.93-5.1A4.08,4.08,0,0,0,12.61,6Z"/><rect x="11" y="16" width="2" height="2" rx="0.5"/><path d="M12,2A10,10,0,1,0,22,12,10,10,0,0,0,12,2Zm0,18a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z"/>',viewBox:"0 0 24 24"},{name:"search",content:'<path d="M20.71,19.29l-6-6A6.48,6.48,0,0,0,10.86,3.14,6.5,6.5,0,0,0,7.58,15.71a6.43,6.43,0,0,0,5.74-1l6,6a1,1,0,0,0,1.42,0A1,1,0,0,0,20.71,19.29ZM9.5,14A4.5,4.5,0,1,1,14,9.5,4.49,4.49,0,0,1,9.5,14Z"/>',viewBox:"0 0 24 24"},{name:"ambulance",content:'<path d="M22.3,9.4,16.56,4.48A2,2,0,0,0,15.26,4H14a1,1,0,0,0-1-1H11a1,1,0,0,0-1,1H3A2,2,0,0,0,1,6V16a1,1,0,0,0,1,1H3a3,3,0,0,0,6,0h6a3,3,0,0,0,6,0h1a1,1,0,0,0,1-1V10.92A2,2,0,0,0,22.3,9.4ZM15,6l5,4H14V6Zm6,9h-.78a3,3,0,0,0-4.44,0H8.22a3,3,0,0,0-4.44,0H3V6h9v5a1,1,0,0,0,1,1h8Z"/><polygon points="8 7 7 7 7 9 5 9 5 10 7 10 7 12 8 12 8 10 10 10 10 9 8 9 8 7"/>',viewBox:"0 0 24 24"}],a=t=>{const o=n.find(c=>c.name===t.toLowerCase());if(!o)throw new Error(`Icon ${t} not found`);return o};e.getCustomIcon=a,e.icons=n,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})}));
@@ -0,0 +1,5 @@
1
+ import { type SVGIcon } from "@progress/kendo-vue-common";
2
+ import { icons, type CustomIcon } from "./custom-icon";
3
+ export type { CustomIcon };
4
+ export { icons };
5
+ export declare const getCustomIcon: (icon: CustomIcon) => SVGIcon;
@@ -0,0 +1 @@
1
+ export * from "./icon-service";
package/package.json ADDED
@@ -0,0 +1,40 @@
1
+ {
2
+ "name": "@featherk/icons",
3
+ "version": "0.1.0",
4
+ "main": "dist/featherk-icons.umd.js",
5
+ "module": "dist/featherk-icons.es.js",
6
+ "types": "dist/index.d.ts",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "scripts": {
11
+ "build": "vite build && npm run build:types",
12
+ "build:types": "vue-tsc --emitDeclarationOnly --declaration --declarationDir dist",
13
+ "test": "vitest",
14
+ "clean": "rm -rf dist",
15
+ "prepublishOnly": "npm run build",
16
+ "generate-icons": "node ./scripts/generate-icons.mjs"
17
+ },
18
+ "peerDependencies": {
19
+ "vue": ">=3.0.0",
20
+ "@progress/kendo-vue-common": "*"
21
+ },
22
+ "devDependencies": {
23
+ "@types/node": "^24.5.2",
24
+ "@vitejs/plugin-vue": "^6.0.1",
25
+ "typescript": "~5.8.3",
26
+ "vite": "^7.1.7",
27
+ "vitest": "^3.2.4",
28
+ "vue-tsc": "^3.0.7"
29
+ },
30
+ "publishConfig": {
31
+ "access": "public"
32
+ },
33
+ "keywords": [
34
+ "vue",
35
+ "icons",
36
+ "kendo",
37
+ "telerik"
38
+ ],
39
+ "license": "MIT"
40
+ }