From 0a69fb9e5211d840b3e12ee962c26a010f809aa3 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Sun, 24 Dec 2023 12:26:02 +0100 Subject: [PATCH 01/14] Fix `gavel` gap (#1744) * Fix `gavel` gap * Update gavel.json --- icons/gavel.json | 5 +++-- icons/gavel.svg | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/icons/gavel.json b/icons/gavel.json index 5f2234339b7..5969917d4ec 100644 --- a/icons/gavel.json +++ b/icons/gavel.json @@ -2,7 +2,8 @@ "$schema": "../icon.schema.json", "contributors": [ "Andreto", - "ericfennis" + "ericfennis", + "jguddas" ], "tags": [ "hammer", @@ -12,4 +13,4 @@ "maps", "tools" ] -} \ No newline at end of file +} diff --git a/icons/gavel.svg b/icons/gavel.svg index 91f18745252..dc6b41cb779 100644 --- a/icons/gavel.svg +++ b/icons/gavel.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - + From e71a776acc3c066f8b0a1dbf90c24a699472e4af Mon Sep 17 00:00:00 2001 From: CokaKoala <31664583+AdrianGonz97@users.noreply.github.com> Date: Sun, 24 Dec 2023 06:45:57 -0500 Subject: [PATCH 02/14] Fixed export maps, types, and packaging for `lucide-svelte` (#1707) * add extensions for `NodeNext` support * fixed exports map and replaced the packaging system for `@sveltejs/pacakge` * lockfile * ignore generated `.svelte-kit` dir * no longer needed * fixed main export * fixed IconNode and IconProps types * have icon props extend svg attributes * build script for prepending the license to each `dist` file * Update packages/lucide-svelte/scripts/addLicense.mjs --------- Co-authored-by: Eric Fennis --- packages/lucide-svelte/.gitignore | 1 + packages/lucide-svelte/package.json | 27 ++-- packages/lucide-svelte/rollup.config.mjs | 84 ------------- packages/lucide-svelte/scripts/addLicense.mjs | 55 ++++++++ .../lucide-svelte/scripts/exportTemplate.mjs | 4 +- packages/lucide-svelte/src/lucide-svelte.ts | 8 +- packages/lucide-svelte/src/types.ts | 16 ++- pnpm-lock.yaml | 119 ++++++++---------- 8 files changed, 138 insertions(+), 176 deletions(-) delete mode 100644 packages/lucide-svelte/rollup.config.mjs create mode 100644 packages/lucide-svelte/scripts/addLicense.mjs diff --git a/packages/lucide-svelte/.gitignore b/packages/lucide-svelte/.gitignore index b2f3f64dd25..f550ccc4b38 100644 --- a/packages/lucide-svelte/.gitignore +++ b/packages/lucide-svelte/.gitignore @@ -1 +1,2 @@ src/icons/*.svelte +.svelte-kit \ No newline at end of file diff --git a/packages/lucide-svelte/package.json b/packages/lucide-svelte/package.json index b7412fd9bd4..a3a5dd68cdf 100644 --- a/packages/lucide-svelte/package.json +++ b/packages/lucide-svelte/package.json @@ -23,20 +23,20 @@ ], "author": "Eric Fennis", "type": "module", - "main": "dist/esm/lucide-svelte.js", + "main": "dist/lucide-svelte.js", "exports": { ".": { - "svelte": "./dist/svelte/lucide-svelte.js", "types": "./dist/lucide-svelte.d.ts", - "default": "./dist/esm/lucide-svelte.js" + "svelte": "./dist/lucide-svelte.js", + "default": "./dist/lucide-svelte.js" }, "./icons": { - "svelte": "./dist/svelte/icons/index.js", - "default": "./dist/esm/icons/index.js" + "types": "./dist/lucide-svelte.d.ts", + "svelte": "./dist/lucide-svelte.js" }, "./icons/*": { - "svelte": "./dist/svelte/icons/*.svelte", - "default": "./dist/esm/icons/*.js" + "types": "./dist/icons/*.svelte.d.ts", + "svelte": "./dist/icons/*.svelte" } }, "typings": "dist/lucide-svelte.d.ts", @@ -45,31 +45,26 @@ "dist" ], "scripts": { - "build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:bundles && pnpm build:strip && pnpm build:types", + "build": "pnpm clean && pnpm copy:license && pnpm build:icons && pnpm build:package && pnpm build:license", "copy:license": "cp ../../LICENSE ./LICENSE", "clean": "rm -rf dist && rm -rf stats && rm -rf ./src/icons/*.svelte && rm -f index.js", "build:icons": "build-icons --output=./src --templateSrc=./scripts/exportTemplate.mjs --exportFileName=index.ts --iconFileExtension=.svelte --importImportFileExtension=.svelte --withAliases --aliasesFileExtension=.ts --aliasImportFileExtension=.svelte --pretty=false", - "build:types": "node ./scripts/buildTypes.mjs", - "build:bundles": "rollup -c ./rollup.config.mjs", - "build:strip": "svelte-strip strip src/ dist/svelte", + "build:package": "svelte-package --input ./src", + "build:license": "node ./scripts/addLicense.mjs", "test": "vitest run", "version": "pnpm version --git-tag-version=false" }, "devDependencies": { "@lucide/build-icons": "workspace:*", - "@lucide/rollup-plugins": "workspace:*", - "@rollup/plugin-node-resolve": "^15.1.0", + "@sveltejs/package": "^2.2.3", "@sveltejs/vite-plugin-svelte": "^2.4.2", "@testing-library/jest-dom": "^6.1.4", "@testing-library/svelte": "^4.0.2", "@tsconfig/svelte": "^5.0.0", "jsdom": "^20.0.3", - "rollup": "^3.25.3", - "rollup-plugin-svelte": "^7.1.6", "svelte": "^4.0.1", "svelte-check": "^3.4.4", "svelte-preprocess": "^5.0.4", - "svelte-strip": "^2.0.0", "typescript": "^5.1.6", "vite": "^4.4.12", "vitest": "^0.32.2" diff --git a/packages/lucide-svelte/rollup.config.mjs b/packages/lucide-svelte/rollup.config.mjs deleted file mode 100644 index 69a21a449ef..00000000000 --- a/packages/lucide-svelte/rollup.config.mjs +++ /dev/null @@ -1,84 +0,0 @@ -/* eslint-disable import/no-extraneous-dependencies */ -import svelte from 'rollup-plugin-svelte'; -import pkg from './package.json' assert { type: 'json' }; -import plugins from '@lucide/rollup-plugins'; -import resolve from '@rollup/plugin-node-resolve'; -import svelteConfig from './svelte.config.js'; - -const packageName = 'LucideSvelte'; -const outputFileName = 'lucide-svelte'; -const outputDir = 'dist'; -const inputs = ['./src/lucide-svelte.ts']; -const bundles = [ - { - format: 'esm', - inputs, - outputDir, - preserveModules: true, - preserveModulesRoot: 'src', - }, - { - format: 'svelte', - inputs, - outputDir, - preserveModules: true, - }, -]; - -const configs = bundles - .map(({ inputs, outputDir, format, minify, preserveModules, preserveModulesRoot }) => - inputs.map(input => ({ - input, - plugins: [ - ...(format !== 'svelte' ? [ - svelte({ - ...svelteConfig, - include: 'src/**/*.svelte', - compilerOptions: { - dev: false, - css: 'external', - hydratable: true, - }, - emitCss: false, - }), - resolve({ - browser: true, - exportConditions: ['svelte'], - extensions: ['.svelte'] - }), - ] : []), - ...plugins(pkg, minify), - ], - external: format === 'svelte' ? [/\.svelte/] : ['svelte', 'svelte/internal'], - output: { - name: packageName, - ...(preserveModules - ? { - dir: `${outputDir}/${format}`, - } - : { - file: `${outputDir}/${format}/${outputFileName}${minify ? '.min' : ''}.js`, - }), - preserveModules, - preserveModulesRoot, - format: format === 'svelte' ? 'esm' : format, - sourcemap: true, - globals: { - svelte: 'svelte', - }, - entryFileNames: (chunkInfo) => { - if (chunkInfo.name.includes('node_modules')) { - const [pathToReplace, directory] = chunkInfo.name.match(/.*\/([^\/]+)\//); - const fileName = chunkInfo.name.replace(pathToReplace, ''); - - return `external/${directory}/${fileName}.js`; - } - - return '[name].js'; - } - }, - })), - ) - .flat(); - -export default configs; diff --git a/packages/lucide-svelte/scripts/addLicense.mjs b/packages/lucide-svelte/scripts/addLicense.mjs new file mode 100644 index 00000000000..c00a7287cc7 --- /dev/null +++ b/packages/lucide-svelte/scripts/addLicense.mjs @@ -0,0 +1,55 @@ +import { getCurrentDirPath } from '../../../scripts/helpers.mjs'; +import { lstatSync } from 'fs'; +import { readdir, readFile, writeFile } from 'fs/promises'; +import path from 'path'; +import pkg from '../package.json' assert { type: 'json' }; + +const BANNER = `@license ${pkg.name} v${pkg.version} - ${pkg.license} + +This source code is licensed under the ${pkg.license} license. +See the LICENSE file in the root directory of this source tree.`; + +const currentDir = getCurrentDirPath(import.meta.url); +const targetDirectory = path.join(currentDir, '../dist'); + +const files = await readdir(targetDirectory, { + recursive: true, + encoding: 'utf-8', +}); + +for (const file of files) { + const filepath = path.join(targetDirectory, file); + const filestat = lstatSync(filepath); + + if (filestat.isFile() === false || filestat.isDirectory()) continue; + + const contents = await readFile(filepath, { encoding: 'utf-8' }); + const ext = path.extname(filepath); + let license; + + if (/\.(js|mjs|cjs|ts)/.test(ext)) { + license = getJSBanner(); + } + + if (/\.svelte/.test(ext)) { + license = getSvelteBanner(); + } + + if (license) { + await writeFile(filepath, license + contents, { encoding: 'utf-8' }); + } +} + +function getJSBanner() { + return `/** + * ${BANNER} + */ +\n`; +} + +function getSvelteBanner() { + return ` +\n`; +} diff --git a/packages/lucide-svelte/scripts/exportTemplate.mjs b/packages/lucide-svelte/scripts/exportTemplate.mjs index da2f1e055c6..ec40bdd8eb1 100644 --- a/packages/lucide-svelte/scripts/exportTemplate.mjs +++ b/packages/lucide-svelte/scripts/exportTemplate.mjs @@ -3,7 +3,9 @@ export default ({ iconName, children }) => `\ diff --git a/packages/lucide-svelte/src/lucide-svelte.ts b/packages/lucide-svelte/src/lucide-svelte.ts index 8de8d514a2f..173f8b4bb14 100644 --- a/packages/lucide-svelte/src/lucide-svelte.ts +++ b/packages/lucide-svelte/src/lucide-svelte.ts @@ -1,4 +1,4 @@ -export * from './icons'; -export * as icons from './icons'; -export * from './aliases'; -export { default as defaultAttributes } from './defaultAttributes' +export * from './icons/index.js'; +export * as icons from './icons/index.js'; +export * from './aliases.js'; +export { default as defaultAttributes } from './defaultAttributes.js'; diff --git a/packages/lucide-svelte/src/types.ts b/packages/lucide-svelte/src/types.ts index e58615e3238..f289a905aa9 100644 --- a/packages/lucide-svelte/src/types.ts +++ b/packages/lucide-svelte/src/types.ts @@ -1,5 +1,13 @@ -/// -/// +import type { SVGAttributes, SvelteHTMLElements } from 'svelte/elements'; -export type Attrs = svelte.JSX.SVGProps -export type IconNode = [elementName: keyof svelte.JSX.IntrinsicElements, attrs: Attrs][] +type SVGAttrs = SVGAttributes; + +export type IconNode = [elementName: keyof SvelteHTMLElements, attrs: SVGAttrs][]; + +export interface IconProps extends SVGAttrs { + color?: string; + size?: number | string; + strokeWidth?: number | string; + absoluteStrokeWidth?: boolean; + class?: string; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 297981c6085..aa36efe661f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -550,12 +550,9 @@ importers: '@lucide/build-icons': specifier: workspace:* version: link:../../tools/build-icons - '@lucide/rollup-plugins': - specifier: workspace:* - version: link:../../tools/rollup-plugins - '@rollup/plugin-node-resolve': - specifier: ^15.1.0 - version: 15.1.0(rollup@3.27.0) + '@sveltejs/package': + specifier: ^2.2.3 + version: 2.2.3(svelte@4.1.2)(typescript@5.1.6) '@sveltejs/vite-plugin-svelte': specifier: ^2.4.2 version: 2.4.3(svelte@4.1.2)(vite@4.5.0) @@ -571,12 +568,6 @@ importers: jsdom: specifier: ^20.0.3 version: 20.0.3 - rollup: - specifier: ^3.25.3 - version: 3.27.0 - rollup-plugin-svelte: - specifier: ^7.1.6 - version: 7.1.6(rollup@3.27.0)(svelte@4.1.2) svelte: specifier: ^4.0.1 version: 4.1.2 @@ -586,9 +577,6 @@ importers: svelte-preprocess: specifier: ^5.0.4 version: 5.0.4(svelte@4.1.2)(typescript@5.1.6) - svelte-strip: - specifier: ^2.0.0 - version: 2.0.0(svelte@4.1.2) typescript: specifier: ^5.1.6 version: 5.1.6 @@ -8510,6 +8498,23 @@ packages: resolution: {integrity: sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==} dev: false + /@sveltejs/package@2.2.3(svelte@4.1.2)(typescript@5.1.6): + resolution: {integrity: sha512-iZEC5qw+2RIjfIAHR3O+IeokJIjVM/ieoxPxj6YmZCwu5JKFADtC4jzjSUJ7GkCMUQ4HqE7u4/3cCxXBocxi8A==} + engines: {node: ^16.14 || >=18} + hasBin: true + peerDependencies: + svelte: ^3.44.0 || ^4.0.0 + dependencies: + chokidar: 3.5.3 + kleur: 4.1.5 + sade: 1.8.1 + semver: 7.5.4 + svelte: 4.1.2 + svelte2tsx: 0.6.27(svelte@4.1.2)(typescript@5.1.6) + transitivePeerDependencies: + - typescript + dev: true + /@sveltejs/vite-plugin-svelte-inspector@1.0.3(@sveltejs/vite-plugin-svelte@2.4.3)(svelte@4.1.2)(vite@4.5.0): resolution: {integrity: sha512-Khdl5jmmPN6SUsVuqSXatKpQTMIifoQPDanaxC84m9JxIibWvSABJyHpyys0Z+1yYrxY5TTEQm+6elh0XCMaOA==} engines: {node: ^14.18.0 || >= 16} @@ -12696,6 +12701,10 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} + /dedent-js@1.0.1: + resolution: {integrity: sha512-OUepMozQULMLUmhxS95Vudo0jb0UchLimi3+pQ2plj61Fcy8axbP9hbiD4Sz6DPqn6XG3kfmziVfQ1rSys5AJQ==} + dev: true + /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -15339,16 +15348,6 @@ packages: minimatch: 5.1.6 once: 1.4.0 - /glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.4 - minipass: 4.2.8 - path-scurry: 1.10.1 - dev: true - /global@4.4.0: resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} dependencies: @@ -17578,6 +17577,12 @@ packages: get-func-name: 2.0.2 dev: true + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.6.1 + dev: true + /lru-cache@10.0.3: resolution: {integrity: sha512-B7gr+F6MkqB3uzINHXNctGieGsRTMwIBgxkp0yq/5BwcuDzD4A8wQpHQW6vDAm1uKSLQghmRdD9sKqf2vJ1cEg==} engines: {node: 14 || >=16.14} @@ -18307,20 +18312,6 @@ packages: dependencies: brace-expansion: 2.0.1 - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@8.0.4: - resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.1: resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} engines: {node: '>=16 || 14 >=14.17'} @@ -18408,11 +18399,6 @@ packages: dependencies: yallist: 4.0.0 - /minipass@4.2.8: - resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} - engines: {node: '>=8'} - dev: true - /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} @@ -18420,6 +18406,7 @@ packages: /minipass@7.0.3: resolution: {integrity: sha512-LhbbwCfz3vsb12j/WkWQPZfKTsgqIe1Nf/ti1pKjYESGLHIVjWU96G9/ljLH4F9mWNVhlQOm0VySdAWzf05dpg==} engines: {node: '>=16 || 14 >=14.17'} + dev: false /minisearch@6.3.0: resolution: {integrity: sha512-ihFnidEeU8iXzcVHy74dhkxh/dn8Dc08ERl0xwoMMGqp4+LvRSCgicb+zGqWthVokQKvCSxITlh3P08OzdTYCQ==} @@ -18741,6 +18728,13 @@ packages: - supports-color dev: true + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.6.1 + dev: true + /nocache@3.0.4: resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==} engines: {node: '>=12.0.0'} @@ -19554,6 +19548,13 @@ packages: engines: {node: '>= 0.8'} dev: true + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.6.1 + dev: true + /pascalcase@0.1.1: resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==} engines: {node: '>=0.10.0'} @@ -19599,6 +19600,7 @@ packages: dependencies: lru-cache: 10.0.3 minipass: 7.0.3 + dev: false /path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -21247,11 +21249,6 @@ packages: resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==} deprecated: https://github.com/lydell/resolve-url#deprecated - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - dev: true - /resolve@1.22.0: resolution: {integrity: sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==} hasBin: true @@ -22834,28 +22831,16 @@ packages: typescript: 5.1.6 dev: true - /svelte-strip@2.0.0(svelte@4.1.2): - resolution: {integrity: sha512-RZ8swt0ddE22ebZvFpMhW/x9rLIAwCZtWWnb5oohQEYcyuxzvzXwxImjFQ8DINXXMbvw6PB/NfnzDmHqMVrdbw==} - hasBin: true + /svelte2tsx@0.6.27(svelte@4.1.2)(typescript@5.1.6): + resolution: {integrity: sha512-E1uPW1o6VsbRz+nUk3fznZ2lSmCITAJoNu8AYefWSvIwE2pSB01i5sId4RMbWNzfcwCQl1DcgGShCPcldl4rvg==} peerDependencies: - svelte: ^3.0.0 + svelte: ^3.55 || ^4.0.0-next.0 || ^4.0 || ^5.0.0-next.0 + typescript: ^4.9.4 || ^5.0.0 dependencies: - glob: 9.3.5 - minimatch: 7.4.6 + dedent-js: 1.0.1 + pascal-case: 3.1.2 svelte: 4.1.2 - svelte-preprocess: 5.0.4(svelte@4.1.2)(typescript@5.1.6) typescript: 5.1.6 - yargs: 17.7.2 - transitivePeerDependencies: - - '@babel/core' - - coffeescript - - less - - postcss - - postcss-load-config - - pug - - sass - - stylus - - sugarss dev: true /svelte@4.1.2: From 7af26002a0a9dc89cc1f2a7e2cd2260407b8bc4f Mon Sep 17 00:00:00 2001 From: it-is-not <72697755+it-is-not@users.noreply.github.com> Date: Sun, 24 Dec 2023 11:53:44 +0000 Subject: [PATCH 03/14] add icons (#1222) --- icons/a-arrow-down.json | 20 ++++++++++++++++++++ icons/a-arrow-down.svg | 16 ++++++++++++++++ icons/a-arrow-up.json | 21 +++++++++++++++++++++ icons/a-arrow-up.svg | 16 ++++++++++++++++ icons/a-large-small.json | 19 +++++++++++++++++++ icons/a-large-small.svg | 16 ++++++++++++++++ 6 files changed, 108 insertions(+) create mode 100644 icons/a-arrow-down.json create mode 100644 icons/a-arrow-down.svg create mode 100644 icons/a-arrow-up.json create mode 100644 icons/a-arrow-up.svg create mode 100644 icons/a-large-small.json create mode 100644 icons/a-large-small.svg diff --git a/icons/a-arrow-down.json b/icons/a-arrow-down.json new file mode 100644 index 00000000000..5be35ab27ee --- /dev/null +++ b/icons/a-arrow-down.json @@ -0,0 +1,20 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "it-is-not", + "jguddas", + "danielbayley", + "ericfennis" + ], + "tags": [ + "letter", + "font size", + "text", + "formatting", + "smaller" + ], + "categories": [ + "text", + "design" + ] +} \ No newline at end of file diff --git a/icons/a-arrow-down.svg b/icons/a-arrow-down.svg new file mode 100644 index 00000000000..59f4ac860a1 --- /dev/null +++ b/icons/a-arrow-down.svg @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/icons/a-arrow-up.json b/icons/a-arrow-up.json new file mode 100644 index 00000000000..2e1f9a9a411 --- /dev/null +++ b/icons/a-arrow-up.json @@ -0,0 +1,21 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "it-is-not", + "jguddas", + "danielbayley", + "ericfennis" + ], + "tags": [ + "letter", + "font size", + "text", + "formatting", + "larger", + "bigger" + ], + "categories": [ + "text", + "design" + ] +} \ No newline at end of file diff --git a/icons/a-arrow-up.svg b/icons/a-arrow-up.svg new file mode 100644 index 00000000000..6bd72f08d29 --- /dev/null +++ b/icons/a-arrow-up.svg @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file diff --git a/icons/a-large-small.json b/icons/a-large-small.json new file mode 100644 index 00000000000..5ae799bc2e8 --- /dev/null +++ b/icons/a-large-small.json @@ -0,0 +1,19 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "it-is-not", + "jguddas", + "danielbayley", + "ericfennis" + ], + "tags": [ + "letter", + "font size", + "text", + "formatting" + ], + "categories": [ + "text", + "design" + ] +} \ No newline at end of file diff --git a/icons/a-large-small.svg b/icons/a-large-small.svg new file mode 100644 index 00000000000..20052d81b35 --- /dev/null +++ b/icons/a-large-small.svg @@ -0,0 +1,16 @@ + + + + + + \ No newline at end of file From 262f9e88658ffe09622655b83f3cfddeb1ae1f6d Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Sun, 24 Dec 2023 13:28:53 +0100 Subject: [PATCH 04/14] fix: made cp1 in preview absolute for smooth curves (#1739) --- docs/.vitepress/lib/SvgPreview/utils.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/.vitepress/lib/SvgPreview/utils.ts b/docs/.vitepress/lib/SvgPreview/utils.ts index 76c9999bd0b..2a9974a9100 100644 --- a/docs/.vitepress/lib/SvgPreview/utils.ts +++ b/docs/.vitepress/lib/SvgPreview/utils.ts @@ -151,7 +151,7 @@ export const getPaths = (src: string) => { y2: c.y2, })}`, { - cp1: reflectedCp1, + cp1: { x: prev.x - reflectedCp1.x, y: prev.y - reflectedCp1.y }, cp2: { x: c.x2, y: c.y2 }, } ); From 5366782da01299a816bb7fc04a683d5b2e2e40af Mon Sep 17 00:00:00 2001 From: Eric Fennis Date: Sun, 24 Dec 2023 13:29:05 +0100 Subject: [PATCH 05/14] Adding documentation about Global Styling (#1721) * Add global styling docs * Add global styling and filled icon docs * Fix typos global-styling.md * Update filled-icons.md --- docs/.vitepress/sidebar.ts | 56 ++++++++++--------- docs/.vitepress/theme/style.css | 4 ++ .../examples/filled-icon-example/App.js | 23 ++++++++ .../examples/filled-icon-example/files.ts | 20 +++++++ .../examples/filled-icon-example/icon.css | 14 +++++ .../App.js | 30 ++++++++++ .../files.ts | 20 +++++++ .../icon.css | 16 ++++++ .../global-styling-css-example/App.js | 30 ++++++++++ .../global-styling-css-example/files.ts | 20 +++++++ .../global-styling-css-example/icon.css | 14 +++++ docs/guide/advanced/filled-icons.md | 24 +++++++- docs/guide/advanced/global-styling.md | 55 ++++++++++++++++++ 13 files changed, 296 insertions(+), 30 deletions(-) create mode 100644 docs/guide/advanced/examples/filled-icon-example/App.js create mode 100644 docs/guide/advanced/examples/filled-icon-example/files.ts create mode 100644 docs/guide/advanced/examples/filled-icon-example/icon.css create mode 100644 docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/App.js create mode 100644 docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/files.ts create mode 100644 docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/icon.css create mode 100644 docs/guide/advanced/examples/global-styling-css-example/App.js create mode 100644 docs/guide/advanced/examples/global-styling-css-example/files.ts create mode 100644 docs/guide/advanced/examples/global-styling-css-example/icon.css create mode 100644 docs/guide/advanced/global-styling.md diff --git a/docs/.vitepress/sidebar.ts b/docs/.vitepress/sidebar.ts index b79a0d00d3e..d7eec57a5f6 100644 --- a/docs/.vitepress/sidebar.ts +++ b/docs/.vitepress/sidebar.ts @@ -28,33 +28,35 @@ const sidebar: UserConfig['themeConfig']['sidebar'] = { ] }, // TODO: Add this section - // { - // text: 'Advanced', - // items: [ - // { - // text: 'Accessibility', - // link: '/guide/advanced/accessibility' - // }, - // { - // text: 'Global styling', - // }, - // { - // text: 'Animations', - // }, - // { - // text: 'Filled icons', - // }, - // { - // text: 'Combining icons', - // }, - // { - // text: 'Dynamic imports' - // }, - // // { - // // text: 'Auto importing' - // // }, - // ] - // }, + { + text: 'Advanced', + items: [ + // { + // text: 'Accessibility', + // link: '/guide/advanced/accessibility' + // }, + { + text: 'Global styling', + link: '/guide/advanced/global-styling' + }, + // { + // text: 'Animations', + // }, + { + text: 'Filled icons', + link: '/guide/advanced/filled-icons' + }, + // { + // text: 'Combining icons', + // }, + // { + // text: 'Dynamic imports' + // }, + // { + // text: 'Auto importing' + // }, + ] + }, { text: 'Packages', items: [ diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css index bac3fb2154e..c09c0315b75 100644 --- a/docs/.vitepress/theme/style.css +++ b/docs/.vitepress/theme/style.css @@ -153,6 +153,10 @@ html:has(* .outline-link:target) { scroll-behavior: smooth; } */ +.sp-wrapper + * { + margin-top: 24px; +} + .sp-wrapper .sp-layout { border-radius: 8px; } diff --git a/docs/guide/advanced/examples/filled-icon-example/App.js b/docs/guide/advanced/examples/filled-icon-example/App.js new file mode 100644 index 00000000000..31ccdef4dd0 --- /dev/null +++ b/docs/guide/advanced/examples/filled-icon-example/App.js @@ -0,0 +1,23 @@ +import { Star, StarHalf } from "lucide-react"; +import "./icon.css"; + +function App() { + return ( +
+
+
+ { Array.from({ length: 5 }, () => ( + + ))} +
+
+ + + +
+
+
+ ); +} + +export default App; diff --git a/docs/guide/advanced/examples/filled-icon-example/files.ts b/docs/guide/advanced/examples/filled-icon-example/files.ts new file mode 100644 index 00000000000..d55b8c47dd8 --- /dev/null +++ b/docs/guide/advanced/examples/filled-icon-example/files.ts @@ -0,0 +1,20 @@ +import App from './App.js?raw' +import styles from '../../../basics/examples/styles.css?raw' +import IconCss from './icon.css?raw' + +const files = { + 'App.js': { + code: App, + active: true, + }, + 'icon.css': { + code: IconCss, + readOnly: false, + }, + 'styles.css': { + code: styles, + hidden: true + }, +} + +export default files diff --git a/docs/guide/advanced/examples/filled-icon-example/icon.css b/docs/guide/advanced/examples/filled-icon-example/icon.css new file mode 100644 index 00000000000..b8aa18519b9 --- /dev/null +++ b/docs/guide/advanced/examples/filled-icon-example/icon.css @@ -0,0 +1,14 @@ +.star-rating { + position: relative; +} + +.stars { + display: flex; + gap: 4px; +} + +.rating { + position: absolute; + top: 0; +} + diff --git a/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/App.js b/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/App.js new file mode 100644 index 00000000000..8fe26aa1b0e --- /dev/null +++ b/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/App.js @@ -0,0 +1,30 @@ +import { + TentTree, + Caravan, + FlameKindling, + MountainSnow, + Trees, + Axe, + Map, + CloudMoon, + Sparkles, +} from "lucide-react"; +import "./icon.css"; + +function App() { + return ( +
+ + + + + + + + + +
+ ); +} + +export default App; diff --git a/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/files.ts b/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/files.ts new file mode 100644 index 00000000000..c86c2bd1a78 --- /dev/null +++ b/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/files.ts @@ -0,0 +1,20 @@ +import App from './App.js?raw' +import styles from '../../../basics/examples/styles.css?raw' +import IconCss from './icon.css?raw' + +const files = { + 'icon.css': { + code: IconCss, + readOnly: false, + active: true, + }, + 'App.js': { + code: App, + }, + 'styles.css': { + code:styles, + hidden: true + }, +} + +export default files diff --git a/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/icon.css b/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/icon.css new file mode 100644 index 00000000000..29d869df7be --- /dev/null +++ b/docs/guide/advanced/examples/global-styling-absolute-strokewidth-example/icon.css @@ -0,0 +1,16 @@ +.lucide { + width: 48px; + height: 48px; + stroke-width: 1.5; +} + +.lucide * { + vector-effect: non-scaling-stroke; +} + +.app { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-template-rows: 1fr 1fr 1fr + gap: 6px; +} diff --git a/docs/guide/advanced/examples/global-styling-css-example/App.js b/docs/guide/advanced/examples/global-styling-css-example/App.js new file mode 100644 index 00000000000..e2f003605af --- /dev/null +++ b/docs/guide/advanced/examples/global-styling-css-example/App.js @@ -0,0 +1,30 @@ +import { + CakeSlice, + Candy, + Apple, + Cookie, + Martini, + IceCream2, + Sandwich, + Wine, + Dessert, +} from "lucide-react"; +import "./icon.css"; + +function App() { + return ( +
+ + + + + + + + + +
+ ); +} + +export default App; diff --git a/docs/guide/advanced/examples/global-styling-css-example/files.ts b/docs/guide/advanced/examples/global-styling-css-example/files.ts new file mode 100644 index 00000000000..c86c2bd1a78 --- /dev/null +++ b/docs/guide/advanced/examples/global-styling-css-example/files.ts @@ -0,0 +1,20 @@ +import App from './App.js?raw' +import styles from '../../../basics/examples/styles.css?raw' +import IconCss from './icon.css?raw' + +const files = { + 'icon.css': { + code: IconCss, + readOnly: false, + active: true, + }, + 'App.js': { + code: App, + }, + 'styles.css': { + code:styles, + hidden: true + }, +} + +export default files diff --git a/docs/guide/advanced/examples/global-styling-css-example/icon.css b/docs/guide/advanced/examples/global-styling-css-example/icon.css new file mode 100644 index 00000000000..796d2db8fd1 --- /dev/null +++ b/docs/guide/advanced/examples/global-styling-css-example/icon.css @@ -0,0 +1,14 @@ +.lucide { + /* Change this! */ + color: #ffadff; + width: 56px; + height: 56px; + stroke-width: 1px; +} + +.app { + display: grid; + grid-template-columns: 1fr 1fr 1fr; + grid-template-rows: 1fr 1fr 1fr + gap: 6px; +} diff --git a/docs/guide/advanced/filled-icons.md b/docs/guide/advanced/filled-icons.md index 0d6afbb6236..00575bdffa6 100644 --- a/docs/guide/advanced/filled-icons.md +++ b/docs/guide/advanced/filled-icons.md @@ -1,3 +1,9 @@ + + # Filled Icons Fills are officially not supported. @@ -5,9 +11,21 @@ However, all SVG properties are available on all icons. Fill can still be used and will work fine on certain icons. Example with stars: - - + ## Will Lucide have fills in the future? -This feature is requested several times and discussion is happening at: [#458](https://github.com/lucide-icons/lucide/discussions/458). +This feature has been requested several times and discussion is happening at [#458](https://github.com/lucide-icons/lucide/discussions/458). diff --git a/docs/guide/advanced/global-styling.md b/docs/guide/advanced/global-styling.md new file mode 100644 index 00000000000..3e4f5834f01 --- /dev/null +++ b/docs/guide/advanced/global-styling.md @@ -0,0 +1,55 @@ + + +# Global Styling + +Adjusting icons can be done by [color](../basics/color.md), [size](../basics/sizing.md) and [stroke width](../basics/stroke-width.md). + +By default, all icons have a **color** value of `currentColor`, a **size** value of `24px`, and a **stroke width** of `2`. Styling icons individually can be done by passing props to the icon component. + +## Style by using CSS +Styling icons is easy to accomplish using CSS. + +Every icon has a class attribute applied called `lucide`. This class name can be used in the CSS file to target all icons that are being used within the app. + +- The **color** of the icons can be changed using the [`color`](https://developer.mozilla.org/en-US/docs/Web/CSS/color) CSS property. +- The **size** of the icons can be changed using [`width`](https://developer.mozilla.org/en-US/docs/Web/CSS/width) and [`height`](https://developer.mozilla.org/en-US/docs/Web/CSS/height) CSS properties. +- The **stroke width** of the icons can be changed using the [`stroke-width`](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width) CSS property. + + + +### Absolute stroke width + +For global absolute stroke width styling the `vector-effect: non-scaling-stroke` CSS property can be applied to the children. This will keep the stroke-width the same size no matter the size of the icon. See [absolute-stroke-width](../basics/stroke-width.md#absolute-stroke-width) for more info. + + + From 5ecfd613970ddbf2db7e2def5422ffdb3e10d61e Mon Sep 17 00:00:00 2001 From: Daniel Bayley Date: Mon, 25 Dec 2023 10:28:46 +0000 Subject: [PATCH 06/14] Optimise/add remaining `panel-*`/consolidate `layout` icons (#1156) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Optimise `layout` icon * Optimise `panel-*` icons …from #1156. * Fix JSON * Rename `layout` to `panels-top-left` * Add `panel-bottom-narrow` (status bar) icon * Add `panels-left-bottom` icon * Add `panels-right-bottom` icon * Add `panels-left-right-bottom` icon * Add `panels-left-right` icon * Add `panels-bottom-left-right` icon * Add `panels-top-split` icon * Improve metadata * Rename `panel-top-inactive` to `panel-top-dashed` * Rename `panel-bottom-inactive` to `panel-bottom-dashed` * Rename `panel-left-inactive` to `panel-left-dashed` * Rename `panel-right-inactive` to `panel-right-dashed` * Add `panel-top-narrow` (menu bar) icon * Refine/rename `panels-top-split` to `panels-top-narrow-split` * Remove `panel-bottom-narrow` icon * Remove `panel-top-narrow` icon * Remove `panels-bottom-left-right` icon * Remove `panels-left-right-bottom` icon * Remove `panels-top-narrow-split` icon * Remove `panels-left-right` icon --------- Co-authored-by: Eric Fennis --- categories/files.json | 2 +- categories/layout.json | 2 +- icons/panel-bottom-close.json | 4 ++- icons/panel-bottom-close.svg | 4 +-- ...inactive.json => panel-bottom-dashed.json} | 6 +++-- ...m-inactive.svg => panel-bottom-dashed.svg} | 0 icons/panel-bottom-open.json | 4 ++- icons/panel-bottom-open.svg | 4 +-- icons/panel-bottom.svg | 4 +-- icons/panel-left-close.json | 10 ++++--- icons/panel-left-close.svg | 2 +- ...t-inactive.json => panel-left-dashed.json} | 6 +++-- ...eft-inactive.svg => panel-left-dashed.svg} | 0 icons/panel-left-open.json | 11 +++++--- icons/panel-left-open.svg | 2 +- icons/panel-left.json | 6 +++-- icons/panel-left.svg | 4 +-- icons/panel-right-close.json | 4 ++- icons/panel-right-close.svg | 4 +-- ...-inactive.json => panel-right-dashed.json} | 6 +++-- ...ht-inactive.svg => panel-right-dashed.svg} | 0 icons/panel-right-open.json | 5 +++- icons/panel-right-open.svg | 4 +-- icons/panel-right.svg | 4 +-- icons/panel-top-close.json | 4 ++- icons/panel-top-close.svg | 4 +-- ...op-inactive.json => panel-top-dashed.json} | 6 +++-- ...-top-inactive.svg => panel-top-dashed.svg} | 0 icons/panel-top-open.json | 4 ++- icons/panel-top-open.svg | 4 +-- icons/panel-top.json | 1 - icons/panel-top.svg | 4 +-- .../{layout.json => panels-left-bottom.json} | 9 +++---- icons/{layout.svg => panels-left-bottom.svg} | 6 ++--- icons/panels-right-bottom.json | 14 ++++++++++ icons/panels-right-bottom.svg | 15 +++++++++++ icons/panels-top-left.json | 26 +++++++++++++++++++ icons/panels-top-left.svg | 15 +++++++++++ 38 files changed, 155 insertions(+), 55 deletions(-) rename icons/{panel-bottom-inactive.json => panel-bottom-dashed.json} (75%) rename icons/{panel-bottom-inactive.svg => panel-bottom-dashed.svg} (100%) rename icons/{panel-left-inactive.json => panel-left-dashed.json} (77%) rename icons/{panel-left-inactive.svg => panel-left-dashed.svg} (100%) rename icons/{panel-right-inactive.json => panel-right-dashed.json} (77%) rename icons/{panel-right-inactive.svg => panel-right-dashed.svg} (100%) rename icons/{panel-top-inactive.json => panel-top-dashed.json} (77%) rename icons/{panel-top-inactive.svg => panel-top-dashed.svg} (100%) rename icons/{layout.json => panels-left-bottom.json} (60%) rename icons/{layout.svg => panels-left-bottom.svg} (59%) create mode 100644 icons/panels-right-bottom.json create mode 100644 icons/panels-right-bottom.svg create mode 100644 icons/panels-top-left.json create mode 100644 icons/panels-top-left.svg diff --git a/categories/files.json b/categories/files.json index 8814fb2ba37..4d1fa3ad948 100644 --- a/categories/files.json +++ b/categories/files.json @@ -1,5 +1,5 @@ { "$schema": "../category.schema.json", "title": "File icons", - "icon": "layout" + "icon": "panels-top-left" } \ No newline at end of file diff --git a/categories/layout.json b/categories/layout.json index 3d03c8d1ff7..034ea4be91b 100644 --- a/categories/layout.json +++ b/categories/layout.json @@ -1,5 +1,5 @@ { "$schema": "../category.schema.json", "title": "Layout", - "icon": "layout" + "icon": "panels-top-left" } \ No newline at end of file diff --git a/icons/panel-bottom-close.json b/icons/panel-bottom-close.json index f06e2064d4d..9b403190a72 100644 --- a/icons/panel-bottom-close.json +++ b/icons/panel-bottom-close.json @@ -7,7 +7,9 @@ "tags": [ "drawer", "dock", - "hide" + "hide", + "chevron", + "down" ], "categories": [ "layout", diff --git a/icons/panel-bottom-close.svg b/icons/panel-bottom-close.svg index 5530485eca7..c079486be0e 100644 --- a/icons/panel-bottom-close.svg +++ b/icons/panel-bottom-close.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-bottom-inactive.json b/icons/panel-bottom-dashed.json similarity index 75% rename from icons/panel-bottom-inactive.json rename to icons/panel-bottom-dashed.json index d105deb04cb..ce1bed31df8 100644 --- a/icons/panel-bottom-inactive.json +++ b/icons/panel-bottom-dashed.json @@ -8,10 +8,12 @@ "drawer", "dock", "show", - "reveal", - "dashed" + "reveal" ], "categories": [ "layout" + ], + "aliases": [ + "panel-bottom-inactive" ] } \ No newline at end of file diff --git a/icons/panel-bottom-inactive.svg b/icons/panel-bottom-dashed.svg similarity index 100% rename from icons/panel-bottom-inactive.svg rename to icons/panel-bottom-dashed.svg diff --git a/icons/panel-bottom-open.json b/icons/panel-bottom-open.json index 79f9a27ce5e..cad5052528b 100644 --- a/icons/panel-bottom-open.json +++ b/icons/panel-bottom-open.json @@ -8,7 +8,9 @@ "drawer", "dock", "show", - "reveal" + "reveal", + "chevron", + "up" ], "categories": [ "layout", diff --git a/icons/panel-bottom-open.svg b/icons/panel-bottom-open.svg index a968059aec6..0a2e584101d 100644 --- a/icons/panel-bottom-open.svg +++ b/icons/panel-bottom-open.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-bottom.svg b/icons/panel-bottom.svg index 98ac4a26541..e7cca3d01bd 100644 --- a/icons/panel-bottom.svg +++ b/icons/panel-bottom.svg @@ -9,6 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-left-close.json b/icons/panel-left-close.json index 99d7f064e22..2874a0d5646 100644 --- a/icons/panel-left-close.json +++ b/icons/panel-left-close.json @@ -5,14 +5,18 @@ "danielbayley", "ericfennis" ], - "aliases": ["sidebar-close"], "tags": [ "primary", "drawer", - "hide" + "hide", + "chevron", + "<" ], "categories": [ "layout", "arrows" + ], + "aliases": [ + "sidebar-close" ] -} +} \ No newline at end of file diff --git a/icons/panel-left-close.svg b/icons/panel-left-close.svg index 791480f09c2..838834d3212 100644 --- a/icons/panel-left-close.svg +++ b/icons/panel-left-close.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - + diff --git a/icons/panel-left-inactive.json b/icons/panel-left-dashed.json similarity index 77% rename from icons/panel-left-inactive.json rename to icons/panel-left-dashed.json index 00a72800159..65c1942d2e3 100644 --- a/icons/panel-left-inactive.json +++ b/icons/panel-left-dashed.json @@ -9,10 +9,12 @@ "primary", "drawer", "show", - "reveal", - "dashed" + "reveal" ], "categories": [ "layout" + ], + "aliases": [ + "panel-left-inactive" ] } \ No newline at end of file diff --git a/icons/panel-left-inactive.svg b/icons/panel-left-dashed.svg similarity index 100% rename from icons/panel-left-inactive.svg rename to icons/panel-left-dashed.svg diff --git a/icons/panel-left-open.json b/icons/panel-left-open.json index cafe4476af5..09cba5d1a81 100644 --- a/icons/panel-left-open.json +++ b/icons/panel-left-open.json @@ -5,15 +5,20 @@ "danielbayley", "ericfennis" ], - "aliases": ["sidebar-open"], "tags": [ "primary", "drawer", "show", - "reveal" + "reveal", + "chevron", + "right", + ">" ], "categories": [ "layout", "arrows" + ], + "aliases": [ + "sidebar-open" ] -} +} \ No newline at end of file diff --git a/icons/panel-left-open.svg b/icons/panel-left-open.svg index 46f21f06aaf..f7ad0518b2c 100644 --- a/icons/panel-left-open.svg +++ b/icons/panel-left-open.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - + diff --git a/icons/panel-left.json b/icons/panel-left.json index ad3675c37eb..2af4cd3df6d 100644 --- a/icons/panel-left.json +++ b/icons/panel-left.json @@ -5,12 +5,14 @@ "danielbayley", "ericfennis" ], - "aliases": ["sidebar"], "tags": [ "primary", "drawer" ], "categories": [ "layout" + ], + "aliases": [ + "sidebar" ] -} +} \ No newline at end of file diff --git a/icons/panel-left.svg b/icons/panel-left.svg index fd749890831..60642c396f9 100644 --- a/icons/panel-left.svg +++ b/icons/panel-left.svg @@ -9,6 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-right-close.json b/icons/panel-right-close.json index 9cd1b5f844a..5e741d93a11 100644 --- a/icons/panel-right-close.json +++ b/icons/panel-right-close.json @@ -8,7 +8,9 @@ "sidebar", "secondary", "drawer", - "hide" + "hide", + "chevron", + ">" ], "categories": [ "layout", diff --git a/icons/panel-right-close.svg b/icons/panel-right-close.svg index 0f3e6716be7..bcd34cbf15b 100644 --- a/icons/panel-right-close.svg +++ b/icons/panel-right-close.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-right-inactive.json b/icons/panel-right-dashed.json similarity index 77% rename from icons/panel-right-inactive.json rename to icons/panel-right-dashed.json index 6d11046f495..7b1f4a89e2d 100644 --- a/icons/panel-right-inactive.json +++ b/icons/panel-right-dashed.json @@ -9,10 +9,12 @@ "secondary", "drawer", "show", - "reveal", - "dashed" + "reveal" ], "categories": [ "layout" + ], + "aliases": [ + "panel-right-inactive" ] } \ No newline at end of file diff --git a/icons/panel-right-inactive.svg b/icons/panel-right-dashed.svg similarity index 100% rename from icons/panel-right-inactive.svg rename to icons/panel-right-dashed.svg diff --git a/icons/panel-right-open.json b/icons/panel-right-open.json index 67fb1155f1f..3cd8ecbe4dc 100644 --- a/icons/panel-right-open.json +++ b/icons/panel-right-open.json @@ -9,7 +9,10 @@ "secondary", "drawer", "show", - "reveal" + "reveal", + "chevron", + "left", + "<" ], "categories": [ "layout", diff --git a/icons/panel-right-open.svg b/icons/panel-right-open.svg index a2ce01b28c3..613e58973fb 100644 --- a/icons/panel-right-open.svg +++ b/icons/panel-right-open.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-right.svg b/icons/panel-right.svg index c1e9cedb0c3..53ba1e6120e 100644 --- a/icons/panel-right.svg +++ b/icons/panel-right.svg @@ -9,6 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-top-close.json b/icons/panel-top-close.json index 65653208dde..8035f45f067 100644 --- a/icons/panel-top-close.json +++ b/icons/panel-top-close.json @@ -7,7 +7,9 @@ "tags": [ "menu bar", "drawer", - "hide" + "hide", + "chevron", + "up" ], "categories": [ "layout", diff --git a/icons/panel-top-close.svg b/icons/panel-top-close.svg index cc988eb152a..d980255e7d3 100644 --- a/icons/panel-top-close.svg +++ b/icons/panel-top-close.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-top-inactive.json b/icons/panel-top-dashed.json similarity index 77% rename from icons/panel-top-inactive.json rename to icons/panel-top-dashed.json index 27ffb3286e5..23626619f97 100644 --- a/icons/panel-top-inactive.json +++ b/icons/panel-top-dashed.json @@ -8,10 +8,12 @@ "menu bar", "drawer", "show", - "reveal", - "dashed" + "reveal" ], "categories": [ "layout" + ], + "aliases": [ + "panel-top-inactive" ] } \ No newline at end of file diff --git a/icons/panel-top-inactive.svg b/icons/panel-top-dashed.svg similarity index 100% rename from icons/panel-top-inactive.svg rename to icons/panel-top-dashed.svg diff --git a/icons/panel-top-open.json b/icons/panel-top-open.json index ab3d9fecae2..2dc5b62b2d3 100644 --- a/icons/panel-top-open.json +++ b/icons/panel-top-open.json @@ -8,7 +8,9 @@ "menu bar", "drawer", "show", - "reveal" + "reveal", + "chevron", + "down" ], "categories": [ "layout", diff --git a/icons/panel-top-open.svg b/icons/panel-top-open.svg index 88b2516f3f7..12f8260a752 100644 --- a/icons/panel-top-open.svg +++ b/icons/panel-top-open.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/panel-top.json b/icons/panel-top.json index ed3d443be40..f5566a18a3c 100644 --- a/icons/panel-top.json +++ b/icons/panel-top.json @@ -6,7 +6,6 @@ ], "tags": [ "drawer", - "menu bar", "browser", "webpage" ], diff --git a/icons/panel-top.svg b/icons/panel-top.svg index dc12ab7cc8b..13b64ec79e8 100644 --- a/icons/panel-top.svg +++ b/icons/panel-top.svg @@ -9,6 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/layout.json b/icons/panels-left-bottom.json similarity index 60% rename from icons/layout.json rename to icons/panels-left-bottom.json index 1bef42e6eca..6840b77e7f2 100644 --- a/icons/layout.json +++ b/icons/panels-left-bottom.json @@ -1,15 +1,14 @@ { "$schema": "../icon.schema.json", "contributors": [ - "colebemis", - "ericfennis" + "danielbayley" ], "tags": [ - "window", - "webpage" + "drawers", + "sidebar", + "primary" ], "categories": [ - "design", "layout" ] } \ No newline at end of file diff --git a/icons/layout.svg b/icons/panels-left-bottom.svg similarity index 59% rename from icons/layout.svg rename to icons/panels-left-bottom.svg index 2f3dc07a0b8..1938805ee26 100644 --- a/icons/layout.svg +++ b/icons/panels-left-bottom.svg @@ -9,7 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - - + + + diff --git a/icons/panels-right-bottom.json b/icons/panels-right-bottom.json new file mode 100644 index 00000000000..ba0ebac57ea --- /dev/null +++ b/icons/panels-right-bottom.json @@ -0,0 +1,14 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley" + ], + "tags": [ + "drawers", + "sidebar", + "secondary" + ], + "categories": [ + "layout" + ] +} \ No newline at end of file diff --git a/icons/panels-right-bottom.svg b/icons/panels-right-bottom.svg new file mode 100644 index 00000000000..d38addd4b8b --- /dev/null +++ b/icons/panels-right-bottom.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/panels-top-left.json b/icons/panels-top-left.json new file mode 100644 index 00000000000..078b425be7e --- /dev/null +++ b/icons/panels-top-left.json @@ -0,0 +1,26 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "colebemis", + "ericfennis" + ], + "tags": [ + "menu bar", + "sidebar", + "primary", + "drawers", + "window", + "webpage", + "projects", + "overview" + ], + "categories": [ + "layout", + "design", + "development", + "charts" + ], + "aliases": [ + "layout" + ] +} \ No newline at end of file diff --git a/icons/panels-top-left.svg b/icons/panels-top-left.svg new file mode 100644 index 00000000000..574e4dea553 --- /dev/null +++ b/icons/panels-top-left.svg @@ -0,0 +1,15 @@ + + + + + From e19a9cc43a64fbcf7dbbb42a027e2635926c5808 Mon Sep 17 00:00:00 2001 From: Karsa Date: Tue, 26 Dec 2023 12:06:09 +0100 Subject: [PATCH 07/14] Fixes package list item 404 navigation error (#1751) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rigó József Karsa --- docs/.vitepress/theme/components/packages/PackageListItem.vue | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/.vitepress/theme/components/packages/PackageListItem.vue b/docs/.vitepress/theme/components/packages/PackageListItem.vue index a9e92a7d5bd..fbb19d44b32 100644 --- a/docs/.vitepress/theme/components/packages/PackageListItem.vue +++ b/docs/.vitepress/theme/components/packages/PackageListItem.vue @@ -33,13 +33,11 @@ const props = defineProps<{ :href="packageData.documentation" text="Guide" theme="brand" - @click="go(packageData.documentation)" /> From d9d7e245a3d82ecb8be67b66c089a6e2b7aebaea Mon Sep 17 00:00:00 2001 From: CokaKoala <31664583+AdrianGonz97@users.noreply.github.com> Date: Thu, 28 Dec 2023 08:26:15 -0500 Subject: [PATCH 08/14] fix: Exports `Icon` type (#1762) * fixed import path * export Icon type --- packages/lucide-svelte/src/defaultAttributes.ts | 2 +- packages/lucide-svelte/src/lucide-svelte.ts | 1 + packages/lucide-svelte/src/types.ts | 17 ++++++++++++++--- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/lucide-svelte/src/defaultAttributes.ts b/packages/lucide-svelte/src/defaultAttributes.ts index f40a05afe87..61d05a1d685 100644 --- a/packages/lucide-svelte/src/defaultAttributes.ts +++ b/packages/lucide-svelte/src/defaultAttributes.ts @@ -1,4 +1,4 @@ -import type { Attrs } from "./types"; +import type { Attrs } from './types.js'; const defaultAttributes: Attrs = { xmlns: 'http://www.w3.org/2000/svg', diff --git a/packages/lucide-svelte/src/lucide-svelte.ts b/packages/lucide-svelte/src/lucide-svelte.ts index 173f8b4bb14..1c5c4570797 100644 --- a/packages/lucide-svelte/src/lucide-svelte.ts +++ b/packages/lucide-svelte/src/lucide-svelte.ts @@ -2,3 +2,4 @@ export * from './icons/index.js'; export * as icons from './icons/index.js'; export * from './aliases.js'; export { default as defaultAttributes } from './defaultAttributes.js'; +export type { Icon } from './types.js'; diff --git a/packages/lucide-svelte/src/types.ts b/packages/lucide-svelte/src/types.ts index f289a905aa9..b5e86eb16c0 100644 --- a/packages/lucide-svelte/src/types.ts +++ b/packages/lucide-svelte/src/types.ts @@ -1,13 +1,24 @@ +import type { SvelteComponent } from 'svelte'; import type { SVGAttributes, SvelteHTMLElements } from 'svelte/elements'; -type SVGAttrs = SVGAttributes; +export type Attrs = SVGAttributes; -export type IconNode = [elementName: keyof SvelteHTMLElements, attrs: SVGAttrs][]; +export type IconNode = [elementName: keyof SvelteHTMLElements, attrs: Attrs][]; -export interface IconProps extends SVGAttrs { +export interface IconProps extends Attrs { color?: string; size?: number | string; strokeWidth?: number | string; absoluteStrokeWidth?: boolean; class?: string; } + +type IconEvents = { + [evt: string]: CustomEvent; +}; + +type IconSlots = { + default: {}; +}; + +export type Icon = SvelteComponent; From e3166c65dffc934f7faf488c96bd17b721020b41 Mon Sep 17 00:00:00 2001 From: Han Yeong-woo Date: Thu, 28 Dec 2023 22:28:15 +0900 Subject: [PATCH 09/14] Fix type error of preact `createLucideIcon()` (#1754) Co-authored-by: Eric Fennis --- packages/lucide-preact/src/createLucideIcon.ts | 2 +- packages/lucide-preact/src/defaultAttributes.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/lucide-preact/src/createLucideIcon.ts b/packages/lucide-preact/src/createLucideIcon.ts index 75bfaf8c760..8101577d4e6 100644 --- a/packages/lucide-preact/src/createLucideIcon.ts +++ b/packages/lucide-preact/src/createLucideIcon.ts @@ -25,7 +25,7 @@ const createLucideIcon = (iconName: string, iconNode: IconNode): FunctionCompone { color = 'currentColor', size = 24, strokeWidth = 2, absoluteStrokeWidth, children, class: classes = '', ...rest }: LucideProps ) => h( - 'svg' as unknown as ComponentType & { 'stroke-width': number | string }>>, + 'svg', { ...defaultAttributes, width: String(size), diff --git a/packages/lucide-preact/src/defaultAttributes.ts b/packages/lucide-preact/src/defaultAttributes.ts index 19adbfc38be..9f1b78dbf9a 100644 --- a/packages/lucide-preact/src/defaultAttributes.ts +++ b/packages/lucide-preact/src/defaultAttributes.ts @@ -1,3 +1,5 @@ +import type { JSX } from 'preact' + export default { xmlns: 'http://www.w3.org/2000/svg', width: 24, @@ -8,4 +10,4 @@ export default { 'stroke-width': '2', 'stroke-linecap': 'round', 'stroke-linejoin': 'round', -}; +} satisfies JSX.SVGAttributes; From 46a4041cc7c98ba0562cb030aa2500e57a9c46f1 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Thu, 28 Dec 2023 14:29:46 +0100 Subject: [PATCH 10/14] improved SvgPreview radii highlighting (#1747) * improved SvgPreview radii highlighting * Update index.tsx * Update index.tsx * Update index.tsx --------- Co-authored-by: Eric Fennis --- docs/.vitepress/lib/SvgPreview/index.tsx | 46 +++++++++++++++++------- 1 file changed, 34 insertions(+), 12 deletions(-) diff --git a/docs/.vitepress/lib/SvgPreview/index.tsx b/docs/.vitepress/lib/SvgPreview/index.tsx index 8dfe3c9d658..f14523e6e63 100644 --- a/docs/.vitepress/lib/SvgPreview/index.tsx +++ b/docs/.vitepress/lib/SvgPreview/index.tsx @@ -183,18 +183,40 @@ const Radii = ({ >) => { return ( - {paths - .filter(({ circle }) => circle) - .map(({ c, prev, next, circle: { x, y, r } }) => - c.name === 'circle' ? ( - - ) : ( - <> - - - - ) - )} + {paths.map( + ({ c, prev, next, circle }, i) => + circle && ( + + {c.name !== "circle" && ( + + )} + + + + ), + )} ); }; From 3180910b235ab5bbf0060eac296064f982e58b7f Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Thu, 28 Dec 2023 14:30:52 +0100 Subject: [PATCH 11/14] Automatic optimisation of `rabbit` icon (#1763) --- icons/rabbit.svg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/icons/rabbit.svg b/icons/rabbit.svg index f8c9f6d7a14..6d63772bfd7 100644 --- a/icons/rabbit.svg +++ b/icons/rabbit.svg @@ -9,9 +9,9 @@ stroke-linecap="round" stroke-linejoin="round" > - - - + + + From 87a89b30dacda3049af994c9708fbd4bf0ced3dc Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Thu, 28 Dec 2023 14:31:26 +0100 Subject: [PATCH 12/14] Automatic optimisation of `squirrel` icon (#1764) --- icons/squirrel.svg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/icons/squirrel.svg b/icons/squirrel.svg index 45db2fd018a..73379cd650e 100644 --- a/icons/squirrel.svg +++ b/icons/squirrel.svg @@ -9,8 +9,8 @@ stroke-linecap="round" stroke-linejoin="round" > - - - + + + From 14a196d89cedc1b315d4256791f6b34459de6390 Mon Sep 17 00:00:00 2001 From: Jakob Guddas Date: Thu, 28 Dec 2023 14:41:26 +0100 Subject: [PATCH 13/14] Renamed alarm-minus to alarm-clock-minus (#1629) * Renamed alarm-minus to alarm-minus * Renamed alarm-plus to alarm-clock-plus --------- Co-authored-by: Eric Fennis --- icons/{alarm-minus.json => alarm-clock-minus.json} | 5 ++++- icons/{alarm-minus.svg => alarm-clock-minus.svg} | 0 icons/{alarm-plus.json => alarm-clock-plus.json} | 5 ++++- icons/{alarm-plus.svg => alarm-clock-plus.svg} | 0 4 files changed, 8 insertions(+), 2 deletions(-) rename icons/{alarm-minus.json => alarm-clock-minus.json} (85%) rename icons/{alarm-minus.svg => alarm-clock-minus.svg} (100%) rename icons/{alarm-plus.json => alarm-clock-plus.json} (85%) rename icons/{alarm-plus.svg => alarm-clock-plus.svg} (100%) diff --git a/icons/alarm-minus.json b/icons/alarm-clock-minus.json similarity index 85% rename from icons/alarm-minus.json rename to icons/alarm-clock-minus.json index 9c825ab10d9..0ab27bd3524 100644 --- a/icons/alarm-minus.json +++ b/icons/alarm-clock-minus.json @@ -13,5 +13,8 @@ "devices", "notifications", "time" + ], + "aliases": [ + "alarm-minus" ] -} \ No newline at end of file +} diff --git a/icons/alarm-minus.svg b/icons/alarm-clock-minus.svg similarity index 100% rename from icons/alarm-minus.svg rename to icons/alarm-clock-minus.svg diff --git a/icons/alarm-plus.json b/icons/alarm-clock-plus.json similarity index 85% rename from icons/alarm-plus.json rename to icons/alarm-clock-plus.json index 85d0d00220d..91492f2d847 100644 --- a/icons/alarm-plus.json +++ b/icons/alarm-clock-plus.json @@ -13,5 +13,8 @@ "devices", "notifications", "time" + ], + "aliases": [ + "alarm-plus" ] -} \ No newline at end of file +} diff --git a/icons/alarm-plus.svg b/icons/alarm-clock-plus.svg similarity index 100% rename from icons/alarm-plus.svg rename to icons/alarm-clock-plus.svg From f0422f415cbcd45842fc4aa406b38872da727b88 Mon Sep 17 00:00:00 2001 From: Daniel Bayley Date: Thu, 28 Dec 2023 13:47:14 +0000 Subject: [PATCH 14/14] Sort `rows`/`columns` icons (#1500) * Optimise `rows` icon * Optimise `columns` icon * Improve metadata * Improve metadata * Add `rows-3` variant * Rename `rows` to `rows-2` * Rename `columns` to `columns-2` * Add `columns-3` variant * Add `panels-*` to `aliases` Moved from #1156. * Add `rows-4` variant * Add `columns-4` variant --------- Co-authored-by: Eric Fennis --- icons/columns-2.json | 41 +++++++++++++++++++++++ icons/{columns.svg => columns-2.svg} | 4 +-- icons/columns-3.json | 39 ++++++++++++++++++++++ icons/{rows.svg => columns-3.svg} | 5 +-- icons/columns-4.json | 50 ++++++++++++++++++++++++++++ icons/columns-4.svg | 16 +++++++++ icons/columns.json | 20 ----------- icons/rows-2.json | 32 ++++++++++++++++++ icons/rows-2.svg | 14 ++++++++ icons/rows-3.json | 31 +++++++++++++++++ icons/rows-3.svg | 15 +++++++++ icons/{rows.json => rows-4.json} | 15 +++++++-- icons/rows-4.svg | 16 +++++++++ 13 files changed, 271 insertions(+), 27 deletions(-) create mode 100644 icons/columns-2.json rename icons/{columns.svg => columns-2.svg} (67%) create mode 100644 icons/columns-3.json rename icons/{rows.svg => columns-3.svg} (67%) create mode 100644 icons/columns-4.json create mode 100644 icons/columns-4.svg delete mode 100644 icons/columns.json create mode 100644 icons/rows-2.json create mode 100644 icons/rows-2.svg create mode 100644 icons/rows-3.json create mode 100644 icons/rows-3.svg rename icons/{rows.json => rows-4.json} (62%) create mode 100644 icons/rows-4.svg diff --git a/icons/columns-2.json b/icons/columns-2.json new file mode 100644 index 00000000000..5e9cf7f3143 --- /dev/null +++ b/icons/columns-2.json @@ -0,0 +1,41 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "zenoamaro", + "ericfennis", + "csandman", + "mittalyashu" + ], + "tags": [ + "lines", + "list", + "queue", + "preview", + "panel", + "parallel", + "series", + "split", + "vertical", + "horizontal", + "half", + "center", + "middle", + "even", + "sidebar", + "drawer", + "gutter", + "fold", + "reflow", + "typography", + "pagination", + "pages" + ], + "categories": [ + "layout", + "design", + "text" + ], + "aliases": [ + "columns" + ] +} \ No newline at end of file diff --git a/icons/columns.svg b/icons/columns-2.svg similarity index 67% rename from icons/columns.svg rename to icons/columns-2.svg index 1af2a996f22..79d8f66f72d 100644 --- a/icons/columns.svg +++ b/icons/columns-2.svg @@ -9,6 +9,6 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + diff --git a/icons/columns-3.json b/icons/columns-3.json new file mode 100644 index 00000000000..c56bb68be6c --- /dev/null +++ b/icons/columns-3.json @@ -0,0 +1,39 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley" + ], + "tags": [ + "lines", + "list", + "queue", + "preview", + "parallel", + "series", + "split", + "vertical", + "horizontal", + "thirds", + "triple", + "center", + "middle", + "alignment", + "even", + "sidebars", + "drawers", + "gutters", + "fold", + "reflow", + "typography", + "pagination", + "pages" + ], + "categories": [ + "layout", + "design", + "text" + ], + "aliases": [ + "panels-left-right" + ] +} \ No newline at end of file diff --git a/icons/rows.svg b/icons/columns-3.svg similarity index 67% rename from icons/rows.svg rename to icons/columns-3.svg index f188d57f175..1ad5c6137d2 100644 --- a/icons/rows.svg +++ b/icons/columns-3.svg @@ -9,6 +9,7 @@ stroke-linecap="round" stroke-linejoin="round" > - - + + + diff --git a/icons/columns-4.json b/icons/columns-4.json new file mode 100644 index 00000000000..bff867a0073 --- /dev/null +++ b/icons/columns-4.json @@ -0,0 +1,50 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley" + ], + "tags": [ + "lines", + "list", + "queue", + "preview", + "parallel", + "series", + "split", + "vertical", + "horizontal", + "thirds", + "triple", + "center", + "middle", + "alignment", + "even", + "sidebars", + "drawers", + "gutters", + "fold", + "reflow", + "typography", + "pagination", + "pages", + "prison", + "jail", + "bars", + "sentence", + "police", + "cops", + "cell", + "crime", + "criminal", + "justice", + "law", + "enforcement", + "grill" + ], + "categories": [ + "layout", + "design", + "text", + "security" + ] +} \ No newline at end of file diff --git a/icons/columns-4.svg b/icons/columns-4.svg new file mode 100644 index 00000000000..9de309c993b --- /dev/null +++ b/icons/columns-4.svg @@ -0,0 +1,16 @@ + + + + + + diff --git a/icons/columns.json b/icons/columns.json deleted file mode 100644 index 2bb2c6b9a39..00000000000 --- a/icons/columns.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "$schema": "../icon.schema.json", - "contributors": [ - "zenoamaro", - "ericfennis", - "csandman", - "mittalyashu" - ], - "tags": [ - "split", - "parallel", - "vertical", - "horizontal" - ], - "categories": [ - "layout", - "design", - "text" - ] -} \ No newline at end of file diff --git a/icons/rows-2.json b/icons/rows-2.json new file mode 100644 index 00000000000..f9739df3321 --- /dev/null +++ b/icons/rows-2.json @@ -0,0 +1,32 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley" + ], + "tags": [ + "lines", + "list", + "queue", + "preview", + "panel", + "paragraphs", + "parallel", + "series", + "split", + "vertical", + "horizontal", + "half", + "center", + "middle", + "even", + "drawer" + ], + "categories": [ + "layout", + "design", + "text" + ], + "aliases": [ + "rows" + ] +} \ No newline at end of file diff --git a/icons/rows-2.svg b/icons/rows-2.svg new file mode 100644 index 00000000000..f31fbb55b42 --- /dev/null +++ b/icons/rows-2.svg @@ -0,0 +1,14 @@ + + + + diff --git a/icons/rows-3.json b/icons/rows-3.json new file mode 100644 index 00000000000..b4ce2633a0c --- /dev/null +++ b/icons/rows-3.json @@ -0,0 +1,31 @@ +{ + "$schema": "../icon.schema.json", + "contributors": [ + "danielbayley" + ], + "tags": [ + "lines", + "list", + "queue", + "preview", + "paragraphs", + "parallel", + "series", + "split", + "vertical", + "horizontal", + "half", + "center", + "middle", + "even", + "drawers" + ], + "categories": [ + "layout", + "design", + "text" + ], + "aliases": [ + "panels-top-bottom" + ] +} \ No newline at end of file diff --git a/icons/rows-3.svg b/icons/rows-3.svg new file mode 100644 index 00000000000..638a8b4fe38 --- /dev/null +++ b/icons/rows-3.svg @@ -0,0 +1,15 @@ + + + + + diff --git a/icons/rows.json b/icons/rows-4.json similarity index 62% rename from icons/rows.json rename to icons/rows-4.json index 472603bf675..ac31e5e2ab2 100644 --- a/icons/rows.json +++ b/icons/rows-4.json @@ -4,13 +4,22 @@ "danielbayley" ], "tags": [ - "split", "lines", + "list", "queue", + "preview", + "paragraphs", + "parallel", "series", - "list", + "split", "vertical", - "horizontal" + "horizontal", + "half", + "center", + "middle", + "even", + "drawers", + "grill" ], "categories": [ "layout", diff --git a/icons/rows-4.svg b/icons/rows-4.svg new file mode 100644 index 00000000000..b8f4310c3fa --- /dev/null +++ b/icons/rows-4.svg @@ -0,0 +1,16 @@ + + + + + +