v1.0.1
This commit is contained in:
parent
161399cf43
commit
31d816f12b
4
dist/icons/outline/DocumentPlus.d.ts
vendored
4
dist/icons/outline/DocumentPlus.d.ts
vendored
@ -1,4 +0,0 @@
|
||||
import * as React from "react";
|
||||
import { IconProps } from "@/types";
|
||||
export declare const DocumentPlus: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<SVGSVGElement>>;
|
||||
export default DocumentPlus;
|
1
dist/icons/outline/DocumentPlus.js
vendored
1
dist/icons/outline/DocumentPlus.js
vendored
@ -1 +0,0 @@
|
||||
import*as e from"react";const r=e.forwardRef((({color:r="currentColor",...t},o)=>e.createElement("svg",{...t,ref:o,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true","data-slot":"icon"},e.createElement("path",{fill:r,"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m3.75 9v6m3-3H9m1.5-12H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"}))));export{r as DocumentPlus,r as default};
|
1
dist/icons/outline/index.d.ts
vendored
1
dist/icons/outline/index.d.ts
vendored
@ -1 +0,0 @@
|
||||
export { DocumentPlus } from "./DocumentPlus";
|
1
dist/icons/outline/index.js
vendored
1
dist/icons/outline/index.js
vendored
@ -1 +0,0 @@
|
||||
export{DocumentPlus}from"./DocumentPlus.js";
|
4
dist/icons/solid/DocumentPlus.d.ts
vendored
4
dist/icons/solid/DocumentPlus.d.ts
vendored
@ -1,4 +0,0 @@
|
||||
import * as React from "react";
|
||||
import { IconProps } from "@/types";
|
||||
export declare const DocumentPlus: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<SVGSVGElement>>;
|
||||
export default DocumentPlus;
|
1
dist/icons/solid/DocumentPlus.js
vendored
1
dist/icons/solid/DocumentPlus.js
vendored
@ -1 +0,0 @@
|
||||
import*as e from"react";const a=e.forwardRef((({color:a="currentColor",...t},l)=>e.createElement("svg",{...t,ref:l,width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true","data-slot":"icon"},e.createElement("path",{fill:a,"fill-rule":"evenodd",d:"M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875ZM12.75 12a.75.75 0 0 0-1.5 0v2.25H9a.75.75 0 0 0 0 1.5h2.25V18a.75.75 0 0 0 1.5 0v-2.25H15a.75.75 0 0 0 0-1.5h-2.25V12Z","clip-rule":"evenodd"}),e.createElement("path",{fill:a,d:"M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"}))));export{a as DocumentPlus,a as default};
|
1
dist/icons/solid/index.d.ts
vendored
1
dist/icons/solid/index.d.ts
vendored
@ -1 +0,0 @@
|
||||
export { DocumentPlus } from "./DocumentPlus";
|
1
dist/icons/solid/index.js
vendored
1
dist/icons/solid/index.js
vendored
@ -1 +0,0 @@
|
||||
export{DocumentPlus}from"./DocumentPlus.js";
|
2
dist/index.d.ts
vendored
2
dist/index.d.ts
vendored
@ -1,2 +0,0 @@
|
||||
export * as OutlineIcons from "./icons/outline";
|
||||
export * as SolidIcons from "./icons/solid";
|
5
dist/index.js
vendored
5
dist/index.js
vendored
@ -1,4 +1 @@
|
||||
import * as o from "./icons/outline/index.js";
|
||||
export { o as OutlineIcons };
|
||||
import * as s from "./icons/solid/index.js";
|
||||
export { s as SolidIcons };
|
||||
module.exports=new Proxy({},{get:(o,e)=>{if("__esModule"===e)return{};throw new Error("Importing from 'via-icons' directly is not supported. Please import from either 'via-icons/solid' or 'via-icons/outline' instead.")}});
|
||||
|
13
dist/outline/DocumentPlusIcon.d.ts
vendored
Normal file
13
dist/outline/DocumentPlusIcon.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import * as React from 'react';
|
||||
interface IconProps extends React.SVGAttributes<SVGElement> {
|
||||
children?: never;
|
||||
color?: string;
|
||||
}
|
||||
/**
|
||||
* The DocumentPlus icon is used to represent the action of adding a new document.
|
||||
*
|
||||
* @usage
|
||||
* Use this icon in buttons, links, or other UI elements where the user can create a new document.
|
||||
*/
|
||||
export declare const DocumentPlusIcon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<SVGSVGElement>>;
|
||||
export {};
|
1
dist/outline/index.d.ts
vendored
Normal file
1
dist/outline/index.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export { DocumentPlusIcon } from './DocumentPlusIcon';
|
1
dist/outline/index.js
vendored
Normal file
1
dist/outline/index.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import*as e from"react";const o=e.forwardRef((({color:o="currentColor",...r},t)=>e.createElement("svg",{...r,ref:t,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24","stroke-width":"1.5",stroke:"currentColor","aria-hidden":"true","data-slot":"icon"},e.createElement("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m3.75 9v6m3-3H9m1.5-12H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"}))));o.displayName="DocumentPlusIcon";export{o as DocumentPlusIcon};
|
13
dist/solid/DocumentPlusIcon.d.ts
vendored
Normal file
13
dist/solid/DocumentPlusIcon.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import * as React from 'react';
|
||||
interface IconProps extends React.SVGAttributes<SVGElement> {
|
||||
children?: never;
|
||||
color?: string;
|
||||
}
|
||||
/**
|
||||
* The DocumentPlus icon is used to represent the action of adding a new document.
|
||||
*
|
||||
* @usage
|
||||
* Use this icon in buttons, links, or other UI elements where the user can create a new document.
|
||||
*/
|
||||
export declare const DocumentPlusIcon: React.ForwardRefExoticComponent<IconProps & React.RefAttributes<SVGSVGElement>>;
|
||||
export {};
|
1
dist/solid/index.d.ts
vendored
Normal file
1
dist/solid/index.d.ts
vendored
Normal file
@ -0,0 +1 @@
|
||||
export { DocumentPlusIcon } from './DocumentPlusIcon';
|
1
dist/solid/index.js
vendored
Normal file
1
dist/solid/index.js
vendored
Normal file
@ -0,0 +1 @@
|
||||
import*as e from"react";const a=e.forwardRef((({color:a="currentColor",...r},t)=>e.createElement("svg",{...r,ref:t,xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true","data-slot":"icon"},e.createElement("path",{"fill-rule":"evenodd",d:"M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875ZM12.75 12a.75.75 0 0 0-1.5 0v2.25H9a.75.75 0 0 0 0 1.5h2.25V18a.75.75 0 0 0 1.5 0v-2.25H15a.75.75 0 0 0 0-1.5h-2.25V12Z","clip-rule":"evenodd"}),e.createElement("path",{d:"M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"}))));a.displayName="DocumentPlusIcon";export{a as DocumentPlusIcon};
|
5
dist/types/index.d.ts
vendored
5
dist/types/index.d.ts
vendored
@ -1,5 +0,0 @@
|
||||
import * as React from "react";
|
||||
export interface IconProps extends React.SVGAttributes<SVGElement> {
|
||||
children?: never;
|
||||
color?: string;
|
||||
}
|
34
package.json
34
package.json
@ -1,52 +1,40 @@
|
||||
{
|
||||
"name": "via-icons",
|
||||
"version": "1.0.0",
|
||||
"version": "1.0.1",
|
||||
"description": "",
|
||||
"type": "module",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"sideEffects": false,
|
||||
"files": [
|
||||
"dist"
|
||||
],
|
||||
"exports": {
|
||||
".": {
|
||||
"require": {
|
||||
"import": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts"
|
||||
},
|
||||
"import": {
|
||||
"import": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts"
|
||||
}
|
||||
},
|
||||
"./outline": {
|
||||
"require": {
|
||||
"import": "./dist/icons/outline/index.js",
|
||||
"types": "./dist/icons/outline/index.d.ts"
|
||||
"import": "./dist/outline/index.js",
|
||||
"types": "./dist/outline/index.d.ts"
|
||||
},
|
||||
"import": {
|
||||
"import": "./dist/icons/outline/index.js",
|
||||
"types": "./dist/icons/outline/index.d.ts"
|
||||
"import": "./dist/outline/index.js",
|
||||
"types": "./dist/outline/index.d.ts"
|
||||
}
|
||||
},
|
||||
"./solid": {
|
||||
"require": {
|
||||
"import": "./dist/icons/solid/index.js",
|
||||
"types": "./dist/icons/solid/index.d.ts"
|
||||
"import": "./dist/solid/index.js",
|
||||
"types": "./dist/solid/index.d.ts"
|
||||
},
|
||||
"import": {
|
||||
"import": "./dist/icons/solid/index.js",
|
||||
"types": "./dist/icons/solid/index.d.ts"
|
||||
"import": "./dist/solid/index.js",
|
||||
"types": "./dist/solid/index.d.ts"
|
||||
}
|
||||
}
|
||||
},
|
||||
"license": "ISC",
|
||||
"scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1",
|
||||
"generate-icons": "node scripts/generateIcons.js",
|
||||
"rollupPrebuild": "rimraf dist",
|
||||
"rollupBuildProd": "rollup -c --environment NODE_ENV:production",
|
||||
"deploy": "git pull origin main && yarn rollupPrebuild && yarn rollupBuildProd && git add . && yarn version --patch && git push origin main && git push origin main --tags"
|
||||
"deploy": "pnpm rollupPrebuild && pnpm rollupBuildProd && git add . && npm version --patch && git push origin main && git push origin main --tags"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "",
|
||||
|
106
rollup.config.js
106
rollup.config.js
@ -1,47 +1,75 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import typescript from "@rollup/plugin-typescript";
|
||||
import babel from "@rollup/plugin-babel";
|
||||
import resolve from "@rollup/plugin-node-resolve";
|
||||
import commonjs from "@rollup/plugin-commonjs";
|
||||
import { terser } from "rollup-plugin-terser";
|
||||
import alias from "@rollup/plugin-alias";
|
||||
import path from "path";
|
||||
import { fileURLToPath } from "url";
|
||||
|
||||
const pkgPath = path.resolve("package.json");
|
||||
const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8"));
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = path.dirname(__filename);
|
||||
|
||||
const external = [
|
||||
...Object.keys(pkg.dependencies || {}),
|
||||
...Object.keys(pkg.peerDependencies || {}),
|
||||
/@babel\/runtime/,
|
||||
];
|
||||
const projectRootDir = path.resolve(__dirname);
|
||||
|
||||
const rollupConfig = {
|
||||
input: "src/index.ts",
|
||||
output: {
|
||||
dir: "dist",
|
||||
format: "esm",
|
||||
sourcemap: false,
|
||||
preserveModules: true,
|
||||
preserveModulesRoot: "src",
|
||||
export default [
|
||||
{
|
||||
input: "src/index.ts",
|
||||
output: [
|
||||
{
|
||||
file: "dist/index.js",
|
||||
format: "es",
|
||||
sourcemap: false,
|
||||
},
|
||||
],
|
||||
plugins: [
|
||||
alias({
|
||||
entries: [
|
||||
{ find: "@", replacement: path.resolve(projectRootDir, "src") },
|
||||
],
|
||||
}),
|
||||
resolve(),
|
||||
commonjs(),
|
||||
typescript({
|
||||
tsconfig: "./tsconfig.json",
|
||||
declaration: true,
|
||||
declarationDir: "dist",
|
||||
rootDir: "src",
|
||||
outDir: "dist",
|
||||
}),
|
||||
terser(),
|
||||
],
|
||||
external: ["react"],
|
||||
},
|
||||
external,
|
||||
plugins: [
|
||||
resolve(),
|
||||
commonjs(),
|
||||
typescript({
|
||||
tsconfig: "./tsconfig.json",
|
||||
declaration: true,
|
||||
noEmitOnError: true,
|
||||
importHelpers: true,
|
||||
}),
|
||||
babel({
|
||||
extensions: [".js", ".ts"],
|
||||
babelHelpers: "runtime",
|
||||
include: ["src/**/*"],
|
||||
plugins: ["@babel/plugin-transform-runtime"],
|
||||
}),
|
||||
terser(),
|
||||
],
|
||||
};
|
||||
|
||||
export default rollupConfig;
|
||||
{
|
||||
input: {
|
||||
solid: "src/solid/index.ts",
|
||||
outline: "src/outline/index.ts",
|
||||
},
|
||||
output: [
|
||||
{
|
||||
dir: "dist",
|
||||
format: "es",
|
||||
sourcemap: false,
|
||||
entryFileNames: "[name]/index.js",
|
||||
},
|
||||
],
|
||||
plugins: [
|
||||
alias({
|
||||
entries: [
|
||||
{ find: "@", replacement: path.resolve(projectRootDir, "src") },
|
||||
],
|
||||
}),
|
||||
resolve(),
|
||||
commonjs(),
|
||||
typescript({
|
||||
tsconfig: "./tsconfig.json",
|
||||
declaration: true,
|
||||
declarationDir: "dist",
|
||||
rootDir: "src",
|
||||
outDir: "dist",
|
||||
}),
|
||||
terser(),
|
||||
],
|
||||
external: ["react"],
|
||||
},
|
||||
];
|
||||
|
104
scripts/generateIcons.js
Normal file
104
scripts/generateIcons.js
Normal file
@ -0,0 +1,104 @@
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import { optimize } from "svgo";
|
||||
import { fileURLToPath } from "url";
|
||||
import { dirname } from "path";
|
||||
|
||||
const __filename = fileURLToPath(import.meta.url);
|
||||
const __dirname = dirname(__filename);
|
||||
|
||||
const svgoConfig = {
|
||||
plugins: [
|
||||
{ name: "removeTitle", active: true },
|
||||
{ name: "removeAttrs", params: { attrs: "(data-name)" } },
|
||||
{ name: "removeDimensions", active: true },
|
||||
{ name: "convertColors", params: { currentColor: true } },
|
||||
],
|
||||
};
|
||||
|
||||
const iconMetadataPath = path.resolve(__dirname, "./iconMetadata.json");
|
||||
const iconMetadata = JSON.parse(fs.readFileSync(iconMetadataPath, "utf-8"));
|
||||
|
||||
const generateIconComponent = (name, svgContent, description, usage) => `
|
||||
import * as React from 'react';
|
||||
|
||||
interface IconProps extends React.SVGAttributes<SVGElement> {
|
||||
children?: never;
|
||||
color?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* ${description}
|
||||
*
|
||||
* @usage
|
||||
* ${usage}
|
||||
*/
|
||||
export const ${name}Icon = React.forwardRef<SVGSVGElement, IconProps>(
|
||||
({ color = 'currentColor', ...props }, forwardedRef) => {
|
||||
return (
|
||||
${svgContent.replace("<svg", "<svg {...props} ref={forwardedRef}")}
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
${name}Icon.displayName = '${name}Icon';
|
||||
`;
|
||||
|
||||
const generateIndexFile = (components, iconType) => {
|
||||
const exports = components
|
||||
.map((name) => `export { ${name}Icon } from './${name}Icon';`)
|
||||
.join("\n");
|
||||
const indexPath = path.resolve(__dirname, `../src/${iconType}/index.ts`);
|
||||
fs.writeFileSync(indexPath, exports, "utf-8");
|
||||
};
|
||||
|
||||
const processIcons = async (iconType) => {
|
||||
const svgDir = path.resolve(__dirname, `../src/svgs/${iconType}`);
|
||||
const componentDir = path.resolve(__dirname, `../src/${iconType}`);
|
||||
|
||||
if (!fs.existsSync(componentDir)) {
|
||||
fs.mkdirSync(componentDir, { recursive: true });
|
||||
}
|
||||
|
||||
const components = [];
|
||||
|
||||
const files = fs.readdirSync(svgDir);
|
||||
|
||||
for (const file of files) {
|
||||
const filePath = path.resolve(svgDir, file);
|
||||
const svgContent = fs.readFileSync(filePath, "utf-8");
|
||||
const { data } = await optimize(svgContent, svgoConfig);
|
||||
|
||||
const componentName = file
|
||||
.replace(".svg", "")
|
||||
.replace(/(^\w|-\w)/g, clearAndUpper);
|
||||
const metadata = iconMetadata[componentName];
|
||||
if (!metadata) {
|
||||
console.error(`Metadata for ${componentName} not found`);
|
||||
continue;
|
||||
}
|
||||
|
||||
components.push(componentName);
|
||||
const componentContent = generateIconComponent(
|
||||
componentName,
|
||||
data,
|
||||
metadata.description,
|
||||
metadata.usage
|
||||
);
|
||||
|
||||
const componentPath = path.resolve(
|
||||
componentDir,
|
||||
`${componentName}Icon.tsx`
|
||||
);
|
||||
fs.writeFileSync(componentPath, componentContent, "utf-8");
|
||||
}
|
||||
|
||||
generateIndexFile(components, iconType);
|
||||
};
|
||||
|
||||
const clearAndUpper = (text) => text.replace(/-/, "").toUpperCase();
|
||||
|
||||
(async () => {
|
||||
await processIcons("solid");
|
||||
await processIcons("outline");
|
||||
})();
|
10
scripts/iconMetadata.json
Normal file
10
scripts/iconMetadata.json
Normal file
@ -0,0 +1,10 @@
|
||||
{
|
||||
"DocumentPlus": {
|
||||
"description": "The DocumentPlus icon is used to represent the action of adding a new document.",
|
||||
"usage": "Use this icon in buttons, links, or other UI elements where the user can create a new document."
|
||||
},
|
||||
"Icon2": {
|
||||
"description": "The Icon2 icon represents a generic action or item.",
|
||||
"usage": "Use this icon in scenarios where a general action needs to be indicated, such as settings or preferences."
|
||||
}
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
import * as React from "react";
|
||||
import { IconProps } from "@/types";
|
||||
|
||||
export const DocumentPlus = React.forwardRef<SVGSVGElement, IconProps>(
|
||||
({ color = "currentColor", ...props }, forwardedRef) => {
|
||||
return (
|
||||
<svg
|
||||
{...props}
|
||||
ref={forwardedRef}
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
aria-hidden="true"
|
||||
data-slot="icon"
|
||||
>
|
||||
<path
|
||||
fill={color}
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m3.75 9v6m3-3H9m1.5-12H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
export default DocumentPlus;
|
@ -1 +0,0 @@
|
||||
export { DocumentPlus } from "./DocumentPlus";
|
@ -1,33 +0,0 @@
|
||||
import * as React from "react";
|
||||
import { IconProps } from "@/types";
|
||||
|
||||
export const DocumentPlus = React.forwardRef<SVGSVGElement, IconProps>(
|
||||
({ color = "currentColor", ...props }, forwardedRef) => {
|
||||
return (
|
||||
<svg
|
||||
{...props}
|
||||
ref={forwardedRef}
|
||||
width="24"
|
||||
height="24"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
aria-hidden="true"
|
||||
data-slot="icon"
|
||||
>
|
||||
<path
|
||||
fill={color}
|
||||
fill-rule="evenodd"
|
||||
d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875ZM12.75 12a.75.75 0 0 0-1.5 0v2.25H9a.75.75 0 0 0 0 1.5h2.25V18a.75.75 0 0 0 1.5 0v-2.25H15a.75.75 0 0 0 0-1.5h-2.25V12Z"
|
||||
clip-rule="evenodd"
|
||||
/>
|
||||
<path
|
||||
fill={color}
|
||||
d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"
|
||||
/>
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
export default DocumentPlus;
|
@ -1 +0,0 @@
|
||||
export { DocumentPlus } from "./DocumentPlus";
|
16
src/index.ts
16
src/index.ts
@ -1,2 +1,14 @@
|
||||
export * as OutlineIcons from "./icons/outline";
|
||||
export * as SolidIcons from "./icons/solid";
|
||||
module.exports = new Proxy(
|
||||
{},
|
||||
{
|
||||
get: (_, property) => {
|
||||
if (property === "__esModule") {
|
||||
return {};
|
||||
}
|
||||
|
||||
throw new Error(
|
||||
`Importing from 'via-icons' directly is not supported. Please import from either 'via-icons/solid' or 'via-icons/outline' instead.`
|
||||
);
|
||||
},
|
||||
}
|
||||
);
|
||||
|
23
src/outline/DocumentPlusIcon.tsx
Normal file
23
src/outline/DocumentPlusIcon.tsx
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
interface IconProps extends React.SVGAttributes<SVGElement> {
|
||||
children?: never;
|
||||
color?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DocumentPlus icon is used to represent the action of adding a new document.
|
||||
*
|
||||
* @usage
|
||||
* Use this icon in buttons, links, or other UI elements where the user can create a new document.
|
||||
*/
|
||||
export const DocumentPlusIcon = React.forwardRef<SVGSVGElement, IconProps>(
|
||||
({ color = 'currentColor', ...props }, forwardedRef) => {
|
||||
return (
|
||||
<svg {...props} ref={forwardedRef} xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" data-slot="icon"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 0 0-3.375-3.375h-1.5A1.125 1.125 0 0 1 13.5 7.125v-1.5a3.375 3.375 0 0 0-3.375-3.375H8.25m3.75 9v6m3-3H9m1.5-12H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 0 0-9-9Z"/></svg>
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
DocumentPlusIcon.displayName = 'DocumentPlusIcon';
|
1
src/outline/index.ts
Normal file
1
src/outline/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export { DocumentPlusIcon } from './DocumentPlusIcon';
|
23
src/solid/DocumentPlusIcon.tsx
Normal file
23
src/solid/DocumentPlusIcon.tsx
Normal file
@ -0,0 +1,23 @@
|
||||
|
||||
import * as React from 'react';
|
||||
|
||||
interface IconProps extends React.SVGAttributes<SVGElement> {
|
||||
children?: never;
|
||||
color?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DocumentPlus icon is used to represent the action of adding a new document.
|
||||
*
|
||||
* @usage
|
||||
* Use this icon in buttons, links, or other UI elements where the user can create a new document.
|
||||
*/
|
||||
export const DocumentPlusIcon = React.forwardRef<SVGSVGElement, IconProps>(
|
||||
({ color = 'currentColor', ...props }, forwardedRef) => {
|
||||
return (
|
||||
<svg {...props} ref={forwardedRef} xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true" data-slot="icon"><path fill-rule="evenodd" d="M5.625 1.5H9a3.75 3.75 0 0 1 3.75 3.75v1.875c0 1.036.84 1.875 1.875 1.875H16.5a3.75 3.75 0 0 1 3.75 3.75v7.875c0 1.035-.84 1.875-1.875 1.875H5.625a1.875 1.875 0 0 1-1.875-1.875V3.375c0-1.036.84-1.875 1.875-1.875ZM12.75 12a.75.75 0 0 0-1.5 0v2.25H9a.75.75 0 0 0 0 1.5h2.25V18a.75.75 0 0 0 1.5 0v-2.25H15a.75.75 0 0 0 0-1.5h-2.25V12Z" clip-rule="evenodd"/><path d="M14.25 5.25a5.23 5.23 0 0 0-1.279-3.434 9.768 9.768 0 0 1 6.963 6.963A5.23 5.23 0 0 0 16.5 7.5h-1.875a.375.375 0 0 1-.375-.375V5.25Z"/></svg>
|
||||
);
|
||||
}
|
||||
);
|
||||
|
||||
DocumentPlusIcon.displayName = 'DocumentPlusIcon';
|
1
src/solid/index.ts
Normal file
1
src/solid/index.ts
Normal file
@ -0,0 +1 @@
|
||||
export { DocumentPlusIcon } from './DocumentPlusIcon';
|
@ -1,6 +0,0 @@
|
||||
import * as React from "react";
|
||||
|
||||
export interface IconProps extends React.SVGAttributes<SVGElement> {
|
||||
children?: never;
|
||||
color?: string;
|
||||
}
|
@ -1,25 +1,22 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"allowSyntheticDefaultImports": true,
|
||||
"noFallthroughCasesInSwitch": true,
|
||||
"noUnusedParameters": true,
|
||||
"noImplicitReturns": true,
|
||||
"moduleResolution": "node",
|
||||
"esModuleInterop": true,
|
||||
"noUnusedLocals": true,
|
||||
"declaration": true,
|
||||
"outDir": "./dist",
|
||||
"declarationDir": "./dist",
|
||||
"target": "esnext",
|
||||
"module": "esnext",
|
||||
"jsx": "react",
|
||||
"strict": false,
|
||||
"noImplicitAny": false,
|
||||
"baseUrl": ".",
|
||||
"baseUrl": "./",
|
||||
"paths": {
|
||||
"@/*": ["src/*"]
|
||||
}
|
||||
},
|
||||
"outDir": "./dist",
|
||||
"declaration": true,
|
||||
"declarationDir": "./dist",
|
||||
"emitDeclarationOnly": true,
|
||||
"strict": true,
|
||||
"esModuleInterop": true,
|
||||
"skipLibCheck": true,
|
||||
"module": "ESNext",
|
||||
"target": "ESNext",
|
||||
"jsx": "react",
|
||||
"moduleResolution": "node",
|
||||
"resolveJsonModule": true,
|
||||
"isolatedModules": true
|
||||
},
|
||||
"include": ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"],
|
||||
"exclude": ["node_modules", "dist"]
|
||||
"include": ["src/**/*.tsx", "src/**/*.ts"]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user