From 161399cf43a3cfb94e26e49030a8083acf58c96c Mon Sep 17 00:00:00 2001 From: Mario Arita Date: Tue, 23 Jul 2024 08:46:02 -0600 Subject: [PATCH] feat(initial): :tada: Via Icons; Outline & Solid --- .babelrc | 8 + .gitignore | 134 +++++++++++++++++ .vscode/extensions.json | 9 ++ .vscode/settings.json | 13 ++ LICENSE | 8 + README.md | 1 + dist/icons/outline/DocumentPlus.d.ts | 4 + dist/icons/outline/DocumentPlus.js | 1 + dist/icons/outline/index.d.ts | 1 + dist/icons/outline/index.js | 1 + dist/icons/solid/DocumentPlus.d.ts | 4 + dist/icons/solid/DocumentPlus.js | 1 + dist/icons/solid/index.d.ts | 1 + dist/icons/solid/index.js | 1 + dist/index.d.ts | 2 + dist/index.js | 4 + dist/types/index.d.ts | 5 + package.json | 59 ++++++++ pnpm-lock.yaml | 210 +++++++++++++++++++++++++++ rollup.config.js | 47 ++++++ src/icons/outline/DocumentPlus.tsx | 29 ++++ src/icons/outline/index.ts | 1 + src/icons/solid/DocumentPlus.tsx | 33 +++++ src/icons/solid/index.ts | 1 + src/index.ts | 2 + src/svgs/outline/document-plus.svg | 3 + src/svgs/solid/document-plus.svg | 4 + src/types/index.ts | 6 + tsconfig.json | 25 ++++ webpack.config.js | 6 + 30 files changed, 624 insertions(+) create mode 100644 .babelrc create mode 100644 .gitignore create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 dist/icons/outline/DocumentPlus.d.ts create mode 100644 dist/icons/outline/DocumentPlus.js create mode 100644 dist/icons/outline/index.d.ts create mode 100644 dist/icons/outline/index.js create mode 100644 dist/icons/solid/DocumentPlus.d.ts create mode 100644 dist/icons/solid/DocumentPlus.js create mode 100644 dist/icons/solid/index.d.ts create mode 100644 dist/icons/solid/index.js create mode 100644 dist/index.d.ts create mode 100644 dist/index.js create mode 100644 dist/types/index.d.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 rollup.config.js create mode 100644 src/icons/outline/DocumentPlus.tsx create mode 100644 src/icons/outline/index.ts create mode 100644 src/icons/solid/DocumentPlus.tsx create mode 100644 src/icons/solid/index.ts create mode 100644 src/index.ts create mode 100644 src/svgs/outline/document-plus.svg create mode 100644 src/svgs/solid/document-plus.svg create mode 100644 src/types/index.ts create mode 100644 tsconfig.json create mode 100644 webpack.config.js diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..4a8285b --- /dev/null +++ b/.babelrc @@ -0,0 +1,8 @@ +{ + "presets": [ + "@babel/preset-env", + "@babel/preset-react", + "@babel/preset-typescript" + ], + "plugins": ["@babel/plugin-transform-runtime", "macros"] +} diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..415caa1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,134 @@ +# ---> Node +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +#build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +# dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +yarn.lock +package-lock.json diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..ee9ef57 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,9 @@ +{ + "recommendations": [ + "editorconfig.editorconfig", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "bradlc.vscode-tailwindcss", + "usernamehw.errorlens" + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..d853830 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,13 @@ +{ + "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.fixAll.eslint": "explicit", + "source.fixAll": "explicit" + }, + "tailwindCSS.experimental.classRegex": [ + ["cva\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"], + ["cn\\(([^)]*)\\)", "[\"'`]([^\"'`]*).*?[\"'`]"] + ], + "cSpell.words": ["cva", "cn"] +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..b9c199c --- /dev/null +++ b/LICENSE @@ -0,0 +1,8 @@ +ISC License: + +Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC") +Copyright (c) 1995-2003 by Internet Software Consortium + +Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..b8e62dd --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +# via-icons diff --git a/dist/icons/outline/DocumentPlus.d.ts b/dist/icons/outline/DocumentPlus.d.ts new file mode 100644 index 0000000..2faa051 --- /dev/null +++ b/dist/icons/outline/DocumentPlus.d.ts @@ -0,0 +1,4 @@ +import * as React from "react"; +import { IconProps } from "@/types"; +export declare const DocumentPlus: React.ForwardRefExoticComponent>; +export default DocumentPlus; diff --git a/dist/icons/outline/DocumentPlus.js b/dist/icons/outline/DocumentPlus.js new file mode 100644 index 0000000..54d0835 --- /dev/null +++ b/dist/icons/outline/DocumentPlus.js @@ -0,0 +1 @@ +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}; diff --git a/dist/icons/outline/index.d.ts b/dist/icons/outline/index.d.ts new file mode 100644 index 0000000..225aa7d --- /dev/null +++ b/dist/icons/outline/index.d.ts @@ -0,0 +1 @@ +export { DocumentPlus } from "./DocumentPlus"; diff --git a/dist/icons/outline/index.js b/dist/icons/outline/index.js new file mode 100644 index 0000000..d074e37 --- /dev/null +++ b/dist/icons/outline/index.js @@ -0,0 +1 @@ +export{DocumentPlus}from"./DocumentPlus.js"; diff --git a/dist/icons/solid/DocumentPlus.d.ts b/dist/icons/solid/DocumentPlus.d.ts new file mode 100644 index 0000000..2faa051 --- /dev/null +++ b/dist/icons/solid/DocumentPlus.d.ts @@ -0,0 +1,4 @@ +import * as React from "react"; +import { IconProps } from "@/types"; +export declare const DocumentPlus: React.ForwardRefExoticComponent>; +export default DocumentPlus; diff --git a/dist/icons/solid/DocumentPlus.js b/dist/icons/solid/DocumentPlus.js new file mode 100644 index 0000000..eae1ffe --- /dev/null +++ b/dist/icons/solid/DocumentPlus.js @@ -0,0 +1 @@ +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}; diff --git a/dist/icons/solid/index.d.ts b/dist/icons/solid/index.d.ts new file mode 100644 index 0000000..225aa7d --- /dev/null +++ b/dist/icons/solid/index.d.ts @@ -0,0 +1 @@ +export { DocumentPlus } from "./DocumentPlus"; diff --git a/dist/icons/solid/index.js b/dist/icons/solid/index.js new file mode 100644 index 0000000..d074e37 --- /dev/null +++ b/dist/icons/solid/index.js @@ -0,0 +1 @@ +export{DocumentPlus}from"./DocumentPlus.js"; diff --git a/dist/index.d.ts b/dist/index.d.ts new file mode 100644 index 0000000..a452d0c --- /dev/null +++ b/dist/index.d.ts @@ -0,0 +1,2 @@ +export * as OutlineIcons from "./icons/outline"; +export * as SolidIcons from "./icons/solid"; diff --git a/dist/index.js b/dist/index.js new file mode 100644 index 0000000..71f92fa --- /dev/null +++ b/dist/index.js @@ -0,0 +1,4 @@ +import * as o from "./icons/outline/index.js"; +export { o as OutlineIcons }; +import * as s from "./icons/solid/index.js"; +export { s as SolidIcons }; diff --git a/dist/types/index.d.ts b/dist/types/index.d.ts new file mode 100644 index 0000000..1c64867 --- /dev/null +++ b/dist/types/index.d.ts @@ -0,0 +1,5 @@ +import * as React from "react"; +export interface IconProps extends React.SVGAttributes { + children?: never; + color?: string; +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..c51b174 --- /dev/null +++ b/package.json @@ -0,0 +1,59 @@ +{ + "name": "via-icons", + "version": "1.0.0", + "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": { + "import": "./dist/icons/outline/index.js", + "types": "./dist/icons/outline/index.d.ts" + } + }, + "./solid": { + "require": { + "import": "./dist/icons/solid/index.js", + "types": "./dist/icons/solid/index.d.ts" + }, + "import": { + "import": "./dist/icons/solid/index.js", + "types": "./dist/icons/solid/index.d.ts" + } + } + }, + "license": "ISC", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "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" + }, + "keywords": [], + "author": "", + "peerDependencies": { + "react": "^18.x" + }, + "devDependencies": { + "rollup": "^4.19.0" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..1d27f7d --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,210 @@ +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + react: + specifier: ^18.x + version: 18.3.1 + devDependencies: + rollup: + specifier: ^4.19.0 + version: 4.19.0 + +packages: + + '@rollup/rollup-android-arm-eabi@4.19.0': + resolution: {integrity: sha512-JlPfZ/C7yn5S5p0yKk7uhHTTnFlvTgLetl2VxqE518QgyM7C9bSfFTYvB/Q/ftkq0RIPY4ySxTz+/wKJ/dXC0w==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.19.0': + resolution: {integrity: sha512-RDxUSY8D1tWYfn00DDi5myxKgOk6RvWPxhmWexcICt/MEC6yEMr4HNCu1sXXYLw8iAsg0D44NuU+qNq7zVWCrw==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.19.0': + resolution: {integrity: sha512-emvKHL4B15x6nlNTBMtIaC9tLPRpeA5jMvRLXVbl/W9Ie7HhkrE7KQjvgS9uxgatL1HmHWDXk5TTS4IaNJxbAA==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.19.0': + resolution: {integrity: sha512-fO28cWA1dC57qCd+D0rfLC4VPbh6EOJXrreBmFLWPGI9dpMlER2YwSPZzSGfq11XgcEpPukPTfEVFtw2q2nYJg==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.19.0': + resolution: {integrity: sha512-2Rn36Ubxdv32NUcfm0wB1tgKqkQuft00PtM23VqLuCUR4N5jcNWDoV5iBC9jeGdgS38WK66ElncprqgMUOyomw==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.19.0': + resolution: {integrity: sha512-gJuzIVdq/X1ZA2bHeCGCISe0VWqCoNT8BvkQ+BfsixXwTOndhtLUpOg0A1Fcx/+eA6ei6rMBzlOz4JzmiDw7JQ==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.19.0': + resolution: {integrity: sha512-0EkX2HYPkSADo9cfeGFoQ7R0/wTKb7q6DdwI4Yn/ULFE1wuRRCHybxpl2goQrx4c/yzK3I8OlgtBu4xvted0ug==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.19.0': + resolution: {integrity: sha512-GlIQRj9px52ISomIOEUq/IojLZqzkvRpdP3cLgIE1wUWaiU5Takwlzpz002q0Nxxr1y2ZgxC2obWxjr13lvxNQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.19.0': + resolution: {integrity: sha512-N6cFJzssruDLUOKfEKeovCKiHcdwVYOT1Hs6dovDQ61+Y9n3Ek4zXvtghPPelt6U0AH4aDGnDLb83uiJMkWYzQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.19.0': + resolution: {integrity: sha512-2DnD3mkS2uuam/alF+I7M84koGwvn3ZVD7uG+LEWpyzo/bq8+kKnus2EVCkcvh6PlNB8QPNFOz6fWd5N8o1CYg==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.19.0': + resolution: {integrity: sha512-D6pkaF7OpE7lzlTOFCB2m3Ngzu2ykw40Nka9WmKGUOTS3xcIieHe82slQlNq69sVB04ch73thKYIWz/Ian8DUA==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.19.0': + resolution: {integrity: sha512-HBndjQLP8OsdJNSxpNIN0einbDmRFg9+UQeZV1eiYupIRuZsDEoeGU43NQsS34Pp166DtwQOnpcbV/zQxM+rWA==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.19.0': + resolution: {integrity: sha512-HxfbvfCKJe/RMYJJn0a12eiOI9OOtAUF4G6ozrFUK95BNyoJaSiBjIOHjZskTUffUrB84IPKkFG9H9nEvJGW6A==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.19.0': + resolution: {integrity: sha512-HxDMKIhmcguGTiP5TsLNolwBUK3nGGUEoV/BO9ldUBoMLBssvh4J0X8pf11i1fTV7WShWItB1bKAKjX4RQeYmg==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.19.0': + resolution: {integrity: sha512-xItlIAZZaiG/u0wooGzRsx11rokP4qyc/79LkAOdznGRAbOFc+SfEdfUOszG1odsHNgwippUJavag/+W/Etc6Q==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.19.0': + resolution: {integrity: sha512-xNo5fV5ycvCCKqiZcpB65VMR11NJB+StnxHz20jdqRAktfdfzhgjTiJ2doTDQE/7dqGaV5I7ZGqKpgph6lCIag==} + cpu: [x64] + os: [win32] + + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + + rollup@4.19.0: + resolution: {integrity: sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + +snapshots: + + '@rollup/rollup-android-arm-eabi@4.19.0': + optional: true + + '@rollup/rollup-android-arm64@4.19.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.19.0': + optional: true + + '@rollup/rollup-darwin-x64@4.19.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.19.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.19.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.19.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.19.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.19.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.19.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.19.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.19.0': + optional: true + + '@types/estree@1.0.5': {} + + fsevents@2.3.3: + optional: true + + js-tokens@4.0.0: {} + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + + rollup@4.19.0: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.19.0 + '@rollup/rollup-android-arm64': 4.19.0 + '@rollup/rollup-darwin-arm64': 4.19.0 + '@rollup/rollup-darwin-x64': 4.19.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.19.0 + '@rollup/rollup-linux-arm-musleabihf': 4.19.0 + '@rollup/rollup-linux-arm64-gnu': 4.19.0 + '@rollup/rollup-linux-arm64-musl': 4.19.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.19.0 + '@rollup/rollup-linux-riscv64-gnu': 4.19.0 + '@rollup/rollup-linux-s390x-gnu': 4.19.0 + '@rollup/rollup-linux-x64-gnu': 4.19.0 + '@rollup/rollup-linux-x64-musl': 4.19.0 + '@rollup/rollup-win32-arm64-msvc': 4.19.0 + '@rollup/rollup-win32-ia32-msvc': 4.19.0 + '@rollup/rollup-win32-x64-msvc': 4.19.0 + fsevents: 2.3.3 diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..04d11bd --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,47 @@ +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"; + +const pkgPath = path.resolve("package.json"); +const pkg = JSON.parse(fs.readFileSync(pkgPath, "utf8")); + +const external = [ + ...Object.keys(pkg.dependencies || {}), + ...Object.keys(pkg.peerDependencies || {}), + /@babel\/runtime/, +]; + +const rollupConfig = { + input: "src/index.ts", + output: { + dir: "dist", + format: "esm", + sourcemap: false, + preserveModules: true, + preserveModulesRoot: "src", + }, + 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; diff --git a/src/icons/outline/DocumentPlus.tsx b/src/icons/outline/DocumentPlus.tsx new file mode 100644 index 0000000..ed6acc1 --- /dev/null +++ b/src/icons/outline/DocumentPlus.tsx @@ -0,0 +1,29 @@ +import * as React from "react"; +import { IconProps } from "@/types"; + +export const DocumentPlus = React.forwardRef( + ({ color = "currentColor", ...props }, forwardedRef) => { + return ( + + ); + } +); + +export default DocumentPlus; diff --git a/src/icons/outline/index.ts b/src/icons/outline/index.ts new file mode 100644 index 0000000..225aa7d --- /dev/null +++ b/src/icons/outline/index.ts @@ -0,0 +1 @@ +export { DocumentPlus } from "./DocumentPlus"; diff --git a/src/icons/solid/DocumentPlus.tsx b/src/icons/solid/DocumentPlus.tsx new file mode 100644 index 0000000..8c1f378 --- /dev/null +++ b/src/icons/solid/DocumentPlus.tsx @@ -0,0 +1,33 @@ +import * as React from "react"; +import { IconProps } from "@/types"; + +export const DocumentPlus = React.forwardRef( + ({ color = "currentColor", ...props }, forwardedRef) => { + return ( + + ); + } +); + +export default DocumentPlus; diff --git a/src/icons/solid/index.ts b/src/icons/solid/index.ts new file mode 100644 index 0000000..225aa7d --- /dev/null +++ b/src/icons/solid/index.ts @@ -0,0 +1 @@ +export { DocumentPlus } from "./DocumentPlus"; diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..a452d0c --- /dev/null +++ b/src/index.ts @@ -0,0 +1,2 @@ +export * as OutlineIcons from "./icons/outline"; +export * as SolidIcons from "./icons/solid"; diff --git a/src/svgs/outline/document-plus.svg b/src/svgs/outline/document-plus.svg new file mode 100644 index 0000000..e06def8 --- /dev/null +++ b/src/svgs/outline/document-plus.svg @@ -0,0 +1,3 @@ + diff --git a/src/svgs/solid/document-plus.svg b/src/svgs/solid/document-plus.svg new file mode 100644 index 0000000..1ce84c4 --- /dev/null +++ b/src/svgs/solid/document-plus.svg @@ -0,0 +1,4 @@ + diff --git a/src/types/index.ts b/src/types/index.ts new file mode 100644 index 0000000..66ed684 --- /dev/null +++ b/src/types/index.ts @@ -0,0 +1,6 @@ +import * as React from "react"; + +export interface IconProps extends React.SVGAttributes { + children?: never; + color?: string; +} diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..7ccd00a --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,25 @@ +{ + "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": ".", + "paths": { + "@/*": ["src/*"] + } + }, + "include": ["**/*.ts", "**/*.tsx", "**/*.js", "**/*.jsx"], + "exclude": ["node_modules", "dist"] +} diff --git a/webpack.config.js b/webpack.config.js new file mode 100644 index 0000000..6948715 --- /dev/null +++ b/webpack.config.js @@ -0,0 +1,6 @@ +// Whilst the configuration object can be modified here, the recommended way of making +// changes is via the presets' options or Neutrino's API in `.neutrinorc.js` instead. +// Neutrino's inspect feature can be used to view/export the generated configuration. +const neutrino = require('neutrino') + +module.exports = neutrino().webpack()