Compare commits
30 Commits
build-conf
...
0.455.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d2f7a0931d | ||
|
|
98bbcc4b06 | ||
|
|
c253cb821b | ||
|
|
484dc38b0a | ||
|
|
11b95f883a | ||
|
|
b8cd54f1b2 | ||
|
|
98b3b6fae7 | ||
|
|
3ca465ee11 | ||
|
|
dcd19cedc9 | ||
|
|
8cea9feecc | ||
|
|
e80d98040f | ||
|
|
a1641a372b | ||
|
|
757bf0fb85 | ||
|
|
dd3aed1ecd | ||
|
|
4d98681f05 | ||
|
|
bde9e1cb6b | ||
|
|
a5e07c28bd | ||
|
|
2a68b12cbe | ||
|
|
493382b4fd | ||
|
|
6588971ead | ||
|
|
13cea45e8b | ||
|
|
5dfcfc8d1a | ||
|
|
db24b1d517 | ||
|
|
e1202b545e | ||
|
|
2e1a5cf6ea | ||
|
|
f49ecd73a5 | ||
|
|
a72cbc2d49 | ||
|
|
d4976890e5 | ||
|
|
8c8d1d3338 | ||
|
|
542507f835 |
1
.github/workflows/lucide-preact.yml
vendored
@@ -4,6 +4,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/lucide-preact/**
|
- packages/lucide-preact/**
|
||||||
|
- packages/shared/**
|
||||||
- tools/build-icons/**
|
- tools/build-icons/**
|
||||||
- tools/rollup-plugins/**
|
- tools/rollup-plugins/**
|
||||||
- pnpm-lock.yaml
|
- pnpm-lock.yaml
|
||||||
|
|||||||
1
.github/workflows/lucide-react-native.yml
vendored
@@ -4,6 +4,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/lucide-react-native/**
|
- packages/lucide-react-native/**
|
||||||
|
- packages/shared/**
|
||||||
- tools/build-icons/**
|
- tools/build-icons/**
|
||||||
- tools/rollup-plugins/**
|
- tools/rollup-plugins/**
|
||||||
- pnpm-lock.yaml
|
- pnpm-lock.yaml
|
||||||
|
|||||||
1
.github/workflows/lucide-react.yml
vendored
@@ -4,6 +4,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/lucide-react/**
|
- packages/lucide-react/**
|
||||||
|
- packages/shared/**
|
||||||
- tools/build-icons/**
|
- tools/build-icons/**
|
||||||
- tools/rollup-plugins/**
|
- tools/rollup-plugins/**
|
||||||
- scripts/generateNextJSAliases.mjs
|
- scripts/generateNextJSAliases.mjs
|
||||||
|
|||||||
24
.github/workflows/lucide-shared.yml
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
name: Lucide Shared Checks
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
paths:
|
||||||
|
- packages/shared/**
|
||||||
|
- pnpm-lock.yaml
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- uses: pnpm/action-setup@v2
|
||||||
|
- uses: actions/setup-node@v3.8.1
|
||||||
|
with:
|
||||||
|
node-version: 18
|
||||||
|
cache: 'pnpm'
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: pnpm install --frozen-lockfile
|
||||||
|
|
||||||
|
- name: Test
|
||||||
|
run: pnpm --filter lucide-react test
|
||||||
1
.github/workflows/lucide-solid.yml
vendored
@@ -4,6 +4,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/lucide-solid/**
|
- packages/lucide-solid/**
|
||||||
|
- packages/shared/**
|
||||||
- tools/build-icons/**
|
- tools/build-icons/**
|
||||||
- tools/rollup-plugins/**
|
- tools/rollup-plugins/**
|
||||||
- pnpm-lock.yaml
|
- pnpm-lock.yaml
|
||||||
|
|||||||
1
.github/workflows/lucide-svelte.yml
vendored
@@ -4,6 +4,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/lucide-svelte/**
|
- packages/lucide-svelte/**
|
||||||
|
- packages/shared/**
|
||||||
- tools/build-icons/**
|
- tools/build-icons/**
|
||||||
- tools/rollup-plugins/**
|
- tools/rollup-plugins/**
|
||||||
- pnpm-lock.yaml
|
- pnpm-lock.yaml
|
||||||
|
|||||||
1
.github/workflows/lucide-vue-next.yml
vendored
@@ -4,6 +4,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/lucide-vue-next/**
|
- packages/lucide-vue-next/**
|
||||||
|
- packages/shared/**
|
||||||
- tools/build-icons/**
|
- tools/build-icons/**
|
||||||
- tools/rollup-plugins/**
|
- tools/rollup-plugins/**
|
||||||
- pnpm-lock.yaml
|
- pnpm-lock.yaml
|
||||||
|
|||||||
1
.github/workflows/lucide-vue.yml
vendored
@@ -4,6 +4,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- packages/lucide-vue/**
|
- packages/lucide-vue/**
|
||||||
|
- packages/shared/**
|
||||||
- tools/build-icons/**
|
- tools/build-icons/**
|
||||||
- tools/rollup-plugins/**
|
- tools/rollup-plugins/**
|
||||||
- pnpm-lock.yaml
|
- pnpm-lock.yaml
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../category.schema.json",
|
"$schema": "../category.schema.json",
|
||||||
"title": "Charts",
|
"title": "Charts",
|
||||||
"icon": "pie-chart"
|
"icon": "chart-pie"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -76,5 +76,24 @@
|
|||||||
],
|
],
|
||||||
"source": "https://github.com/swisnl/nuxt-lucide-icons",
|
"source": "https://github.com/swisnl/nuxt-lucide-icons",
|
||||||
"documentation": "https://github.com/swisnl/nuxt-lucide-icons/blob/main/README.md"
|
"documentation": "https://github.com/swisnl/nuxt-lucide-icons/blob/main/README.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "lucide-lustre",
|
||||||
|
"description": "A library providing https://lucide.dev icons to lustre",
|
||||||
|
"icon": "/framework-logos/lustre.webp",
|
||||||
|
"shields": [
|
||||||
|
{
|
||||||
|
"alt": "Latest Stable Version",
|
||||||
|
"src": "https://img.shields.io/hexpm/v/lucide_lustre",
|
||||||
|
"href": "https://hex.pm/packages/lucide_lustre"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"alt": "Total Downloads",
|
||||||
|
"src": "https://img.shields.io/hexpm/dw/lucide_lustre",
|
||||||
|
"href": "https://hex.pm/packages/lucide_lustre"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"source": "https://github.com/dinkelspiel/lucide_lustre",
|
||||||
|
"documentation": "https://github.com/dinkelspiel/lucide_lustre/blob/master/README.md"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"icon": "x",
|
"icon": "x",
|
||||||
"link": "https://github.com/ericfennis"
|
"link": "https://x.com/ericfennis"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ onMounted(() => {
|
|||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
background: var(--vp-c-brand-dark);
|
background: var(--vp-c-brand-dark);
|
||||||
color: white;
|
color: white;
|
||||||
z-index: 10;
|
z-index: 99;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
padding: 2px 8px;
|
padding: 2px 8px;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|||||||
@@ -1,98 +1,98 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import { startCase, camelCase } from 'lodash-es'
|
import { toPascalCase } from '@lucide/shared';
|
||||||
import ButtonMenu from '../base/ButtonMenu.vue'
|
import ButtonMenu from '../base/ButtonMenu.vue';
|
||||||
import { useIconStyleContext } from '../../composables/useIconStyle';
|
import { useIconStyleContext } from '../../composables/useIconStyle';
|
||||||
import useConfetti from '../../composables/useConfetti';
|
import useConfetti from '../../composables/useConfetti';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
name: string
|
name: string;
|
||||||
popoverPosition?: 'top' | 'bottom'
|
popoverPosition?: 'top' | 'bottom';
|
||||||
}>()
|
}>();
|
||||||
const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext()
|
const { size, color, strokeWidth, absoluteStrokeWidth } = useIconStyleContext();
|
||||||
const { animate, confetti } = useConfetti()
|
const { animate, confetti } = useConfetti();
|
||||||
const componentName = computed(() => {
|
const componentName = computed(() => {
|
||||||
return startCase(camelCase(props.name)).replace(/\s/g, '')
|
return (toPascalCase(props.name) as string).replace(/\s/g, '');
|
||||||
})
|
});
|
||||||
|
|
||||||
function copyJSX() {
|
function copyJSX() {
|
||||||
let attrs = ['']
|
let attrs = [''];
|
||||||
|
|
||||||
if (size.value && size.value !== 24) {
|
if (size.value && size.value !== 24) {
|
||||||
attrs.push(`size={${size.value}}`)
|
attrs.push(`size={${size.value}}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (color.value && color.value !== 'currentColor') {
|
if (color.value && color.value !== 'currentColor') {
|
||||||
attrs.push(`color="${color.value}"`)
|
attrs.push(`color="${color.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strokeWidth.value && strokeWidth.value !== 2) {
|
if (strokeWidth.value && strokeWidth.value !== 2) {
|
||||||
attrs.push(`strokeWidth={${strokeWidth.value}}`)
|
attrs.push(`strokeWidth={${strokeWidth.value}}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (absoluteStrokeWidth.value) {
|
if (absoluteStrokeWidth.value) {
|
||||||
attrs.push(`absoluteStrokeWidth`)
|
attrs.push(`absoluteStrokeWidth`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = `<${componentName.value}${attrs.join(' ')} />`
|
const code = `<${componentName.value}${attrs.join(' ')} />`;
|
||||||
|
|
||||||
navigator.clipboard.writeText(code)
|
navigator.clipboard.writeText(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyComponentName() {
|
function copyComponentName() {
|
||||||
const code = componentName.value
|
const code = componentName.value;
|
||||||
|
|
||||||
navigator.clipboard.writeText(code)
|
navigator.clipboard.writeText(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyVue() {
|
function copyVue() {
|
||||||
let attrs = ['']
|
let attrs = [''];
|
||||||
|
|
||||||
if (size.value && size.value !== 24) {
|
if (size.value && size.value !== 24) {
|
||||||
attrs.push(`:size="${size.value}"`)
|
attrs.push(`:size="${size.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (color.value && color.value !== 'currentColor') {
|
if (color.value && color.value !== 'currentColor') {
|
||||||
attrs.push(`color="${color.value}"`)
|
attrs.push(`color="${color.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strokeWidth.value && strokeWidth.value !== 2) {
|
if (strokeWidth.value && strokeWidth.value !== 2) {
|
||||||
attrs.push(`:stroke-width="${strokeWidth.value}"`)
|
attrs.push(`:stroke-width="${strokeWidth.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (absoluteStrokeWidth.value) {
|
if (absoluteStrokeWidth.value) {
|
||||||
attrs.push(`absoluteStrokeWidth`)
|
attrs.push(`absoluteStrokeWidth`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = `<${componentName.value}${attrs.join(' ')} />`
|
const code = `<${componentName.value}${attrs.join(' ')} />`;
|
||||||
|
|
||||||
navigator.clipboard.writeText(code)
|
navigator.clipboard.writeText(code);
|
||||||
}
|
}
|
||||||
|
|
||||||
function copyAngular() {
|
function copyAngular() {
|
||||||
let attrs = ['']
|
let attrs = [''];
|
||||||
|
|
||||||
attrs.push(`name="${props.name}"`)
|
attrs.push(`name="${props.name}"`);
|
||||||
|
|
||||||
if (size.value && size.value !== 24) {
|
if (size.value && size.value !== 24) {
|
||||||
attrs.push(`[size]="${size.value}"`)
|
attrs.push(`[size]="${size.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (color.value && color.value !== 'currentColor') {
|
if (color.value && color.value !== 'currentColor') {
|
||||||
attrs.push(`color="${color.value}"`)
|
attrs.push(`color="${color.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strokeWidth.value && strokeWidth.value !== 2) {
|
if (strokeWidth.value && strokeWidth.value !== 2) {
|
||||||
attrs.push(`[strokeWidth]="${strokeWidth.value}"`)
|
attrs.push(`[strokeWidth]="${strokeWidth.value}"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (absoluteStrokeWidth.value) {
|
if (absoluteStrokeWidth.value) {
|
||||||
attrs.push(`[absoluteStrokeWidth]="true"`)
|
attrs.push(`[absoluteStrokeWidth]="true"`);
|
||||||
}
|
}
|
||||||
|
|
||||||
const code = `<lucide-icon${attrs.join(' ')}></lucide-icon>`
|
const code = `<lucide-icon${attrs.join(' ')}></lucide-icon>`;
|
||||||
|
|
||||||
navigator.clipboard.writeText(code)
|
navigator.clipboard.writeText(code);
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
@@ -106,11 +106,11 @@ function copyAngular() {
|
|||||||
data-confetti-text="Copied!"
|
data-confetti-text="Copied!"
|
||||||
:popoverPosition="popoverPosition"
|
:popoverPosition="popoverPosition"
|
||||||
:options="[
|
:options="[
|
||||||
{ text: 'Copy JSX' , onClick: copyJSX },
|
{ text: 'Copy JSX', onClick: copyJSX },
|
||||||
{ text: 'Copy Component Name' , onClick: copyComponentName },
|
{ text: 'Copy Component Name', onClick: copyComponentName },
|
||||||
{ text: 'Copy Vue' , onClick: copyVue },
|
{ text: 'Copy Vue', onClick: copyVue },
|
||||||
{ text: 'Copy Svelte' , onClick: copyJSX },
|
{ text: 'Copy Svelte', onClick: copyJSX },
|
||||||
{ text: 'Copy Angular' , onClick: copyAngular },
|
{ text: 'Copy Angular', onClick: copyAngular },
|
||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
|||||||
@@ -52,7 +52,7 @@ Here are rules that should be followed to keep quality and consistency when maki
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
**Tip:** place your icon next to circle or square and blur them both; your icon should not feel much darker than the base shape.
|
**Tip:** place your icon next to the circle or square icon and blur them both; your icon should not feel much darker than the base shape.
|
||||||
|
|
||||||
### 10. Icons should be visually centered by their center of gravity.
|
### 10. Icons should be visually centered by their center of gravity.
|
||||||
|
|
||||||
@@ -76,7 +76,7 @@ Here are rules that should be followed to keep quality and consistency when maki
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||
**Tip:** make sure to use arcs or quadratic curves, when using cubic curves control points should have mirrored angles for smooth curves.
|
**Tip:** make sure to use arcs or quadratic curves. When using cubic curves control points should have mirrored angles for smooth curves.
|
||||||
|
|
||||||
### 13. Icons should aim to be pixel perfect so that they will be sharp on low DPI displays.
|
### 13. Icons should aim to be pixel perfect so that they will be sharp on low DPI displays.
|
||||||
|
|
||||||
@@ -142,7 +142,7 @@ For each icon these attributes are applied, corresponding to the above rules.
|
|||||||
### Minify paths
|
### Minify paths
|
||||||
|
|
||||||
The code of paths can sometimes get quite large. To reduce file size we like to minify the code.
|
The code of paths can sometimes get quite large. To reduce file size we like to minify the code.
|
||||||
We recommend to use the [SVGOMG](https://jakearchibald.github.io/svgomg/) to minify paths to 2 points of precision.
|
We recommend to use [SVGOMG](https://jakearchibald.github.io/svgomg/) to minify paths to 2 points of precision.
|
||||||
|
|
||||||
### Allowed elements
|
### Allowed elements
|
||||||
|
|
||||||
|
|||||||
@@ -40,14 +40,17 @@ export class AppModule { }
|
|||||||
or using standalone version:
|
or using standalone version:
|
||||||
|
|
||||||
```js
|
```js
|
||||||
|
import { Component } from '@angular/core';
|
||||||
import { LucideAngularModule, FileIcon } from 'lucide-angular';
|
import { LucideAngularModule, FileIcon } from 'lucide-angular';
|
||||||
|
|
||||||
@NgModule({
|
@Component({
|
||||||
imports: [
|
standalone: true,
|
||||||
LucideAngularModule
|
selector: 'app-root',
|
||||||
]
|
templateUrl: './app.component.html',
|
||||||
|
styleUrl: './app.component.scss',
|
||||||
|
imports: [LucideAngularModule]
|
||||||
})
|
})
|
||||||
export class AppModule {
|
export class AppComponent {
|
||||||
readonly FileIcon = FileIcon;
|
readonly FileIcon = FileIcon;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -52,10 +52,10 @@ For faster builds and load times, you can import icons directly from the `lucide
|
|||||||
|
|
||||||
```svelte
|
```svelte
|
||||||
<script>
|
<script>
|
||||||
import AlertCircle from 'lucide-svelte/icons/alert-circle';
|
import CircleAlert from 'lucide-svelte/icons/circle-alert';
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<AlertCircle color="#ff3e98" />
|
<CircleAlert color="#ff3e98" />
|
||||||
```
|
```
|
||||||
|
|
||||||
## Props
|
## Props
|
||||||
|
|||||||
@@ -18,9 +18,8 @@ import RelatedIcons from '~/.vitepress/theme/components/icons/RelatedIcons.vue'
|
|||||||
import CodeGroup from '~/.vitepress/theme/components/base/CodeGroup.vue'
|
import CodeGroup from '~/.vitepress/theme/components/base/CodeGroup.vue'
|
||||||
import Badge from '~/.vitepress/theme/components/base/Badge.vue'
|
import Badge from '~/.vitepress/theme/components/base/Badge.vue'
|
||||||
import Label from '~/.vitepress/theme/components/base/Label.vue'
|
import Label from '~/.vitepress/theme/components/base/Label.vue'
|
||||||
import VPButton from 'vitepress/dist/client/theme-default/components/VPButton.vue';
|
|
||||||
import { data } from './codeExamples.data'
|
import { data } from './codeExamples.data'
|
||||||
import { camelCase, startCase } from 'lodash-es'
|
import { toCamelCase, toPascalCase } from '@lucide/shared'
|
||||||
import { satisfies } from 'semver'
|
import { satisfies } from 'semver'
|
||||||
|
|
||||||
const { params } = useData()
|
const { params } = useData()
|
||||||
@@ -31,8 +30,8 @@ const tabs = computed(() => data.codeExamples?.map(
|
|||||||
|
|
||||||
const codeExample = computed(() => data.codeExamples?.map(
|
const codeExample = computed(() => data.codeExamples?.map(
|
||||||
(codeExample) => {
|
(codeExample) => {
|
||||||
const pascalCaseName = startCase(camelCase( params.value.name)).replace(/\s/g, '')
|
const pascalCaseName = toPascalCase( params.value.name)
|
||||||
const camelCaseName = camelCase(params.value.name)
|
const camelCaseName = toCamelCase(params.value.name)
|
||||||
|
|
||||||
return codeExample.code
|
return codeExample.code
|
||||||
.replace(/\$(?:<[^>]+>)*PascalCase/g, pascalCaseName)
|
.replace(/\$(?:<[^>]+>)*PascalCase/g, pascalCaseName)
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
"@lucide/build-icons": "workspace:*",
|
"@lucide/build-icons": "workspace:*",
|
||||||
"@lucide/helpers": "workspace:*",
|
"@lucide/helpers": "workspace:*",
|
||||||
"@lucide/shared": "workspace:*",
|
"@lucide/shared": "workspace:*",
|
||||||
"@rollup/plugin-replace": "^5.0.2",
|
"@rollup/plugin-replace": "^6.0.1",
|
||||||
"@types/semver": "^7.5.3",
|
"@types/semver": "^7.5.3",
|
||||||
"h3": "^1.8.0",
|
"h3": "^1.8.0",
|
||||||
"nitropack": "2.8.1",
|
"nitropack": "2.8.1",
|
||||||
|
|||||||
BIN
docs/public/framework-logos/lustre.webp
Executable file
|
After Width: | Height: | Size: 2.6 KiB |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="21" x2="3" y1="6" y2="6" />
|
<path d="M17 12H7" />
|
||||||
<line x1="17" x2="7" y1="12" y2="12" />
|
<path d="M19 18H5" />
|
||||||
<line x1="19" x2="5" y1="18" y2="18" />
|
<path d="M21 6H3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 279 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="3" x2="21" y1="6" y2="6" />
|
<path d="M3 12h18" />
|
||||||
<line x1="3" x2="21" y1="12" y2="12" />
|
<path d="M3 18h18" />
|
||||||
<line x1="3" x2="21" y1="18" y2="18" />
|
<path d="M3 6h18" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 279 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="21" x2="3" y1="6" y2="6" />
|
<path d="M15 12H3" />
|
||||||
<line x1="15" x2="3" y1="12" y2="12" />
|
<path d="M17 18H3" />
|
||||||
<line x1="17" x2="3" y1="18" y2="18" />
|
<path d="M21 6H3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 279 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="21" x2="3" y1="6" y2="6" />
|
<path d="M21 12H9" />
|
||||||
<line x1="21" x2="9" y1="12" y2="12" />
|
<path d="M21 18H7" />
|
||||||
<line x1="21" x2="7" y1="18" y2="18" />
|
<path d="M21 6H3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 332 B After Width: | Height: | Size: 279 B |
22
icons/calendar-1.json
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"colebemis",
|
||||||
|
"ericfennis",
|
||||||
|
"peteruithoven"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"date",
|
||||||
|
"month",
|
||||||
|
"year",
|
||||||
|
"event",
|
||||||
|
"single",
|
||||||
|
"singular",
|
||||||
|
"once",
|
||||||
|
"1",
|
||||||
|
"first"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"time"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/calendar-1.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M11 14h1v4" />
|
||||||
|
<path d="M16 2v4" />
|
||||||
|
<path d="M3 10h18" />
|
||||||
|
<path d="M8 2v4" />
|
||||||
|
<rect x="3" y="4" width="18" height="18" rx="2" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 356 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M5.5 8.5 9 12l-3.5 3.5L2 12l3.5-3.5Z" />
|
<path d="M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" />
|
||||||
<path d="m12 2 3.5 3.5L12 9 8.5 5.5 12 2Z" />
|
<path d="M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z" />
|
||||||
<path d="M18.5 8.5 22 12l-3.5 3.5L15 12l3.5-3.5Z" />
|
<path d="M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z" />
|
||||||
<path d="m12 15 3.5 3.5L12 22l-3.5-3.5L12 15Z" />
|
<path d="M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 415 B After Width: | Height: | Size: 763 B |
23
icons/eye-closed.json
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"karsa-mistmere"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"view",
|
||||||
|
"watch",
|
||||||
|
"see",
|
||||||
|
"hide",
|
||||||
|
"conceal",
|
||||||
|
"mask",
|
||||||
|
"hidden",
|
||||||
|
"visibility",
|
||||||
|
"vision"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"accessibility",
|
||||||
|
"photography",
|
||||||
|
"design",
|
||||||
|
"security"
|
||||||
|
]
|
||||||
|
}
|
||||||
17
icons/eye-closed.svg
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="m15 18-.722-3.25" />
|
||||||
|
<path d="M2 8a10.645 10.645 0 0 0 20 0" />
|
||||||
|
<path d="m20 15-1.726-2.05" />
|
||||||
|
<path d="m4 15 1.726-2.05" />
|
||||||
|
<path d="m9 18 .722-3.25" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 381 B |
@@ -9,11 +9,18 @@
|
|||||||
"tags": [
|
"tags": [
|
||||||
"view",
|
"view",
|
||||||
"watch",
|
"watch",
|
||||||
|
"see",
|
||||||
"hide",
|
"hide",
|
||||||
"hidden"
|
"conceal",
|
||||||
|
"mask",
|
||||||
|
"hidden",
|
||||||
|
"visibility",
|
||||||
|
"vision"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"accessibility",
|
"accessibility",
|
||||||
"photography"
|
"photography",
|
||||||
|
"design",
|
||||||
|
"security"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,10 +7,22 @@
|
|||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"view",
|
"view",
|
||||||
"watch"
|
"watch",
|
||||||
|
"see",
|
||||||
|
"show",
|
||||||
|
"expose",
|
||||||
|
"reveal",
|
||||||
|
"display",
|
||||||
|
"visible",
|
||||||
|
"visibility",
|
||||||
|
"vision",
|
||||||
|
"preview",
|
||||||
|
"read"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"accessibility",
|
"accessibility",
|
||||||
"photography"
|
"photography",
|
||||||
|
"design",
|
||||||
|
"security"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"danielbayley"
|
"danielbayley",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"audio",
|
"audio",
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
|
<path d="M10.5 22H18a2 2 0 0 0 2-2V7l-5-5H6a2 2 0 0 0-2 2v8.4" />
|
||||||
|
<path d="M8 18v-7.7L16 9v7" />
|
||||||
<circle cx="14" cy="16" r="2" />
|
<circle cx="14" cy="16" r="2" />
|
||||||
<circle cx="6" cy="18" r="2" />
|
<circle cx="6" cy="18" r="2" />
|
||||||
<path d="M4 12.4V4a2 2 0 0 1 2-2h8.5L20 7.5V20a2 2 0 0 1-2 2h-7.5" />
|
|
||||||
<path d="M8 18v-7.7L16 9v7" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 382 B After Width: | Height: | Size: 378 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polyline points="7 8 3 12 7 16" />
|
<path d="M21 12H11" />
|
||||||
<line x1="21" x2="11" y1="12" y2="12" />
|
<path d="M21 18H11" />
|
||||||
<line x1="21" x2="11" y1="6" y2="6" />
|
<path d="M21 6H11" />
|
||||||
<line x1="21" x2="11" y1="18" y2="18" />
|
<path d="m7 8-4 4 4 4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 310 B |
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polyline points="3 8 7 12 3 16" />
|
<path d="M21 12H11" />
|
||||||
<line x1="21" x2="11" y1="12" y2="12" />
|
<path d="M21 18H11" />
|
||||||
<line x1="21" x2="11" y1="6" y2="6" />
|
<path d="M21 6H11" />
|
||||||
<line x1="21" x2="11" y1="18" y2="18" />
|
<path d="m3 8 4 4-4 4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 373 B After Width: | Height: | Size: 310 B |
@@ -1,5 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
|
"deprecated": true,
|
||||||
|
"deprecationReason": "icon.brand",
|
||||||
|
"toBeRemovedInVersion": "v1.0",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"okcoker",
|
"okcoker",
|
||||||
"csandman",
|
"csandman",
|
||||||
|
|||||||
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="10" x2="21" y1="6" y2="6" />
|
<path d="M10 12h11" />
|
||||||
<line x1="10" x2="21" y1="12" y2="12" />
|
<path d="M10 18h11" />
|
||||||
<line x1="10" x2="21" y1="18" y2="18" />
|
<path d="M10 6h11" />
|
||||||
<path d="M4 6h1v4" />
|
|
||||||
<path d="M4 10h2" />
|
<path d="M4 10h2" />
|
||||||
|
<path d="M4 6h1v4" />
|
||||||
<path d="M6 18H4c0-1 2-2 2-3s-1-1.5-2-1" />
|
<path d="M6 18H4c0-1 2-2 2-3s-1-1.5-2-1" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 428 B After Width: | Height: | Size: 375 B |
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<line x1="8" x2="21" y1="6" y2="6" />
|
<path d="M3 12h.01" />
|
||||||
<line x1="8" x2="21" y1="12" y2="12" />
|
<path d="M3 18h.01" />
|
||||||
<line x1="8" x2="21" y1="18" y2="18" />
|
<path d="M3 6h.01" />
|
||||||
<line x1="3" x2="3.01" y1="6" y2="6" />
|
<path d="M8 12h13" />
|
||||||
<line x1="3" x2="3.01" y1="12" y2="12" />
|
<path d="M8 18h13" />
|
||||||
<line x1="3" x2="3.01" y1="18" y2="18" />
|
<path d="M8 6h13" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 462 B After Width: | Height: | Size: 353 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polyline points="5 11 5 5 11 5" />
|
<path d="M19 13v6h-6" />
|
||||||
<polyline points="19 13 19 19 13 19" />
|
<path d="M5 11V5h6" />
|
||||||
<line x1="5" x2="19" y1="5" y2="19" />
|
<path d="m5 5 14 14" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 286 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polyline points="13 5 19 5 19 11" />
|
<path d="M11 19H5v-6" />
|
||||||
<polyline points="11 19 5 19 5 13" />
|
<path d="M13 5h6v6" />
|
||||||
<line x1="19" x2="5" y1="5" y2="19" />
|
<path d="M19 5 5 19" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 286 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polyline points="18 8 22 12 18 16" />
|
<path d="m18 8 4 4-4 4" />
|
||||||
<polyline points="6 8 2 12 6 16" />
|
<path d="M2 12h20" />
|
||||||
<line x1="2" x2="22" y1="12" y2="12" />
|
<path d="m6 8-4 4 4 4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 289 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polyline points="8 18 12 22 16 18" />
|
<path d="M12 2v20" />
|
||||||
<polyline points="8 6 12 2 16 6" />
|
<path d="m8 18 4 4 4-4" />
|
||||||
<line x1="12" x2="12" y1="2" y2="22" />
|
<path d="m8 6 4-4 4 4" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 329 B After Width: | Height: | Size: 289 B |
@@ -9,10 +9,10 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polyline points="5 9 2 12 5 15" />
|
<path d="M12 2v20" />
|
||||||
<polyline points="9 5 12 2 15 5" />
|
<path d="m15 19-3 3-3-3" />
|
||||||
<polyline points="15 19 12 22 9 19" />
|
<path d="m19 9 3 3-3 3" />
|
||||||
<polyline points="19 9 22 12 19 15" />
|
<path d="M2 12h20" />
|
||||||
<line x1="2" x2="22" y1="12" y2="12" />
|
<path d="m5 9-3 3 3 3" />
|
||||||
<line x1="12" x2="12" y1="2" y2="22" />
|
<path d="m9 5 3-3 3 3" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 450 B After Width: | Height: | Size: 371 B |
@@ -5,7 +5,8 @@
|
|||||||
"csandman",
|
"csandman",
|
||||||
"ericfennis",
|
"ericfennis",
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"danielbayley"
|
"danielbayley",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"box",
|
"box",
|
||||||
|
|||||||
@@ -9,8 +9,8 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="m7.5 4.27 9 5.15" />
|
<path d="M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z" />
|
||||||
<path d="M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z" />
|
|
||||||
<path d="m3.3 7 8.7 5 8.7-5" />
|
|
||||||
<path d="M12 22V12" />
|
<path d="M12 22V12" />
|
||||||
|
<path d="m3.3 7 7.703 4.734a2 2 0 0 0 1.994 0L20.7 7" />
|
||||||
|
<path d="m7.5 4.27 9 5.15" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 433 B After Width: | Height: | Size: 460 B |
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"danielbayley"
|
"danielbayley",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"driving",
|
"driving",
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M9 9a3 3 0 1 1 6 0" />
|
|
||||||
<path d="M12 12v3" />
|
|
||||||
<path d="M11 15h2" />
|
<path d="M11 15h2" />
|
||||||
<path d="M19 9a7 7 0 1 0-13.6 2.3C6.4 14.4 8 19 8 19h8s1.6-4.6 2.6-7.7c.3-.8.4-1.5.4-2.3" />
|
<path d="M12 12v3" />
|
||||||
<path d="M12 19v3" />
|
<path d="M12 19v3" />
|
||||||
|
<path d="M15.282 19a1 1 0 0 0 .948-.68l2.37-6.988a7 7 0 1 0-13.2 0l2.37 6.988a1 1 0 0 0 .948.68z" />
|
||||||
|
<path d="M9 9a3 3 0 1 1 6 0" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 409 B After Width: | Height: | Size: 417 B |
@@ -3,7 +3,8 @@
|
|||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"ericfennis",
|
"ericfennis",
|
||||||
"jguddas"
|
"jguddas",
|
||||||
|
"jamiemlaw"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"pie",
|
"pie",
|
||||||
|
|||||||
@@ -9,9 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M15 11h.01" />
|
<path d="m12 14-1 1" />
|
||||||
<path d="M11 15h.01" />
|
<path d="m13.75 18.25-1.25 1.42" />
|
||||||
<path d="M16 16h.01" />
|
<path d="M17.775 5.654a15.68 15.68 0 0 0-12.121 12.12" />
|
||||||
<path d="m2 16 20 6-6-20A20 20 0 0 0 2 16" />
|
<path d="M18.8 9.3a1 1 0 0 0 2.1 7.7" />
|
||||||
<path d="M5.71 17.11a17.04 17.04 0 0 1 11.4-11.4" />
|
<path d="M21.964 20.732a1 1 0 0 1-1.232 1.232l-18-5a1 1 0 0 1-.695-1.232A19.68 19.68 0 0 1 15.732 2.037a1 1 0 0 1 1.232.695z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 389 B After Width: | Height: | Size: 506 B |
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"kemie"
|
"kemie",
|
||||||
|
"jamiemlaw"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"food",
|
"food",
|
||||||
|
|||||||
@@ -9,8 +9,9 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M3 11v3a1 1 0 0 0 1 1h16a1 1 0 0 0 1-1v-3" />
|
<path d="m2.37 11.223 8.372-6.777a2 2 0 0 1 2.516 0l8.371 6.777" />
|
||||||
<path d="M12 19H4a1 1 0 0 1-1-1v-2a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-3.83" />
|
<path d="M21 15a1 1 0 0 1 1 1v2a1 1 0 0 1-1 1h-5.25" />
|
||||||
<path d="m3 11 7.77-6.04a2 2 0 0 1 2.46 0L21 11H3Z" />
|
<path d="M3 15a1 1 0 0 0-1 1v2a1 1 0 0 0 1 1h9" />
|
||||||
<path d="M12.97 19.77 7 15h12.5l-3.75 4.5a2 2 0 0 1-2.78.27Z" />
|
<path d="m6.67 15 6.13 4.6a2 2 0 0 0 2.8-.4l3.15-4.2" />
|
||||||
|
<rect width="20" height="4" x="2" y="11" rx="1" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 483 B After Width: | Height: | Size: 501 B |
@@ -2,7 +2,8 @@
|
|||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"karsa-mistmere",
|
"karsa-mistmere",
|
||||||
"danielbayley"
|
"danielbayley",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"cutter",
|
"cutter",
|
||||||
|
|||||||
@@ -9,6 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="m8 14-6 6h9v-3" />
|
<path d="M11 16.586V19a1 1 0 0 1-1 1H2L18.37 3.63a1 1 0 1 1 3 3l-9.663 9.663a1 1 0 0 1-1.414 0L8 14" />
|
||||||
<path d="M18.37 3.63 8 14l3 3L21.37 6.63a2.12 2.12 0 1 0-3-3Z" />
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 314 B |
@@ -4,7 +4,8 @@
|
|||||||
"llaenowyd",
|
"llaenowyd",
|
||||||
"mishkaio",
|
"mishkaio",
|
||||||
"ericfennis",
|
"ericfennis",
|
||||||
"karsa-mistmere"
|
"karsa-mistmere",
|
||||||
|
"chessurisme"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"selection",
|
"selection",
|
||||||
@@ -12,10 +13,14 @@
|
|||||||
"rectangular",
|
"rectangular",
|
||||||
"marquee",
|
"marquee",
|
||||||
"tool",
|
"tool",
|
||||||
"dashed"
|
"dashed",
|
||||||
|
"box"
|
||||||
],
|
],
|
||||||
"categories": [
|
"categories": [
|
||||||
"text",
|
"text",
|
||||||
"design"
|
"design"
|
||||||
|
],
|
||||||
|
"aliases": [
|
||||||
|
"box-select"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
Before Width: | Height: | Size: 532 B After Width: | Height: | Size: 532 B |
@@ -2,7 +2,8 @@
|
|||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"mittalyashu",
|
"mittalyashu",
|
||||||
"ericfennis"
|
"ericfennis",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"bookmark",
|
"bookmark",
|
||||||
|
|||||||
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M12 17.8 5.8 21 7 14.1 2 9.3l7-1L12 2" />
|
<path d="M12 18.338a2.1 2.1 0 0 0-.987.244L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.12 2.12 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.12 2.12 0 0 0 1.597-1.16l2.309-4.679A.53.53 0 0 1 12 2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 261 B After Width: | Height: | Size: 430 B |
@@ -1,7 +1,8 @@
|
|||||||
{
|
{
|
||||||
"$schema": "../icon.schema.json",
|
"$schema": "../icon.schema.json",
|
||||||
"contributors": [
|
"contributors": [
|
||||||
"colebemis"
|
"colebemis",
|
||||||
|
"jguddas"
|
||||||
],
|
],
|
||||||
"tags": [
|
"tags": [
|
||||||
"bookmark",
|
"bookmark",
|
||||||
|
|||||||
@@ -9,5 +9,5 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2" />
|
<path d="M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 326 B After Width: | Height: | Size: 588 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<circle cx="12" cy="17" r="1" />
|
<path d="M21 17a9 9 0 0 0-15-6.7L3 13" />
|
||||||
<path d="M3 7v6h6" />
|
<path d="M3 7v6h6" />
|
||||||
<path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13" />
|
<circle cx="12" cy="17" r="1" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 324 B After Width: | Height: | Size: 311 B |
37
icons/volleyball.json
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"danielbayley",
|
||||||
|
"jguddas"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"beach",
|
||||||
|
"sand",
|
||||||
|
"net",
|
||||||
|
"holiday",
|
||||||
|
"vacation",
|
||||||
|
"summer",
|
||||||
|
"soccer",
|
||||||
|
"football",
|
||||||
|
"futbol",
|
||||||
|
"kick",
|
||||||
|
"pitch",
|
||||||
|
"goal",
|
||||||
|
"score",
|
||||||
|
"bounce",
|
||||||
|
"leather",
|
||||||
|
"wool",
|
||||||
|
"yarn",
|
||||||
|
"knitting",
|
||||||
|
"sewing",
|
||||||
|
"thread",
|
||||||
|
"embroidery",
|
||||||
|
"textile"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"sports",
|
||||||
|
"gaming",
|
||||||
|
"travel",
|
||||||
|
"home"
|
||||||
|
]
|
||||||
|
}
|
||||||
18
icons/volleyball.svg
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M11.1 7.1a16.55 16.55 0 0 1 10.9 4" />
|
||||||
|
<path d="M12 12a12.6 12.6 0 0 1-8.7 5" />
|
||||||
|
<path d="M16.8 13.6a16.55 16.55 0 0 1-9 7.5" />
|
||||||
|
<path d="M20.7 17a12.8 12.8 0 0 0-8.7-5 13.3 13.3 0 0 1 0-10" />
|
||||||
|
<path d="M6.3 3.8a16.55 16.55 0 0 0 1.9 11.5" />
|
||||||
|
<circle cx="12" cy="12" r="10" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 506 B |
19
icons/wind-arrow-down.json
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"$schema": "../icon.schema.json",
|
||||||
|
"contributors": [
|
||||||
|
"colebemis",
|
||||||
|
"csandman",
|
||||||
|
"ericfennis",
|
||||||
|
"jamiemlaw"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
"weather",
|
||||||
|
"air",
|
||||||
|
"pressure",
|
||||||
|
"blow"
|
||||||
|
],
|
||||||
|
"categories": [
|
||||||
|
"weather",
|
||||||
|
"sustainability"
|
||||||
|
]
|
||||||
|
}
|
||||||
16
icons/wind-arrow-down.svg
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
width="24"
|
||||||
|
height="24"
|
||||||
|
viewBox="0 0 24 24"
|
||||||
|
fill="none"
|
||||||
|
stroke="currentColor"
|
||||||
|
stroke-width="2"
|
||||||
|
stroke-linecap="round"
|
||||||
|
stroke-linejoin="round"
|
||||||
|
>
|
||||||
|
<path d="M10 2v8" />
|
||||||
|
<path d="M12.8 21.6A2 2 0 1 0 14 18H2" />
|
||||||
|
<path d="M17.5 10a2.5 2.5 0 1 1 2 4H2" />
|
||||||
|
<path d="m6 6 4 4 4-4" />
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 347 B |
@@ -9,7 +9,7 @@
|
|||||||
stroke-linecap="round"
|
stroke-linecap="round"
|
||||||
stroke-linejoin="round"
|
stroke-linejoin="round"
|
||||||
>
|
>
|
||||||
<path d="M17.7 7.7a2.5 2.5 0 1 1 1.8 4.3H2" />
|
<path d="M12.8 19.6A2 2 0 1 0 14 16H2" />
|
||||||
<path d="M9.6 4.6A2 2 0 1 1 11 8H2" />
|
<path d="M17.5 8a2.5 2.5 0 1 1 2 4H2" />
|
||||||
<path d="M12.6 19.4A2 2 0 1 0 14 16H2" />
|
<path d="M9.8 4.4A2 2 0 1 1 11 8H2" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 342 B After Width: | Height: | Size: 336 B |
18
package.json
@@ -43,26 +43,26 @@
|
|||||||
"@html-eslint/eslint-plugin": "^0.19.1",
|
"@html-eslint/eslint-plugin": "^0.19.1",
|
||||||
"@html-eslint/parser": "^0.19.1",
|
"@html-eslint/parser": "^0.19.1",
|
||||||
"@octokit/rest": "^19.0.13",
|
"@octokit/rest": "^19.0.13",
|
||||||
"@types/yargs": "^17.0.32",
|
"@types/yargs": "^17.0.33",
|
||||||
"@typescript-eslint/eslint-plugin": "^6.14.0",
|
"@typescript-eslint/eslint-plugin": "^6.21.0",
|
||||||
"@typescript-eslint/parser": "^6.14.0",
|
"@typescript-eslint/parser": "^6.21.0",
|
||||||
"ajv-cli": "^5.0.0",
|
"ajv-cli": "^5.0.0",
|
||||||
"eslint": "^8.56.0",
|
"eslint": "^8.57.1",
|
||||||
"eslint-config-airbnb-base": "^15.0.0",
|
"eslint-config-airbnb-base": "^15.0.0",
|
||||||
"eslint-config-airbnb-typescript": "^17.1.0",
|
"eslint-config-airbnb-typescript": "^17.1.0",
|
||||||
"eslint-config-prettier": "^8.10.0",
|
"eslint-config-prettier": "^8.10.0",
|
||||||
"eslint-import-resolver-alias": "^1.1.2",
|
"eslint-import-resolver-alias": "^1.1.2",
|
||||||
"eslint-import-resolver-custom-alias": "^1.3.2",
|
"eslint-import-resolver-custom-alias": "^1.3.2",
|
||||||
"eslint-import-resolver-typescript": "^3.6.1",
|
"eslint-import-resolver-typescript": "^3.6.3",
|
||||||
"eslint-plugin-import": "^2.29.1",
|
"eslint-plugin-import": "^2.31.0",
|
||||||
"husky": "^8.0.3",
|
"husky": "^8.0.3",
|
||||||
"lint-staged": "^13.3.0",
|
"lint-staged": "^13.3.0",
|
||||||
"minimist": "^1.2.8",
|
"minimist": "^1.2.8",
|
||||||
"p-memoize": "^7.1.1",
|
"p-memoize": "^7.1.1",
|
||||||
"prettier": "3.2.4",
|
"prettier": "3.2.4",
|
||||||
"semver": "^7.5.4",
|
"semver": "^7.6.3",
|
||||||
"simple-git": "^3.25.0",
|
"simple-git": "^3.27.0",
|
||||||
"svgo": "^3.1.0",
|
"svgo": "^3.3.2",
|
||||||
"svgson": "^5.3.1",
|
"svgson": "^5.3.1",
|
||||||
"yargs": "^17.7.2"
|
"yargs": "^17.7.2"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -50,10 +50,10 @@
|
|||||||
"@testing-library/preact": "^3.2.3",
|
"@testing-library/preact": "^3.2.3",
|
||||||
"jest-serializer-html": "^7.1.0",
|
"jest-serializer-html": "^7.1.0",
|
||||||
"preact": "^10.19.2",
|
"preact": "^10.19.2",
|
||||||
"rollup": "^4.9.2",
|
"rollup": "^4.22.4",
|
||||||
"rollup-plugin-dts": "^6.1.0",
|
"rollup-plugin-dts": "^6.1.0",
|
||||||
"typescript": "^5.3.3",
|
"typescript": "^5.3.3",
|
||||||
"vite": "5.0.13",
|
"vite": "5.1.8",
|
||||||
"vitest": "^1.1.1"
|
"vitest": "^1.1.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -54,12 +54,12 @@
|
|||||||
"jest-serializer-html": "^7.1.0",
|
"jest-serializer-html": "^7.1.0",
|
||||||
"react": "^18.0.0",
|
"react": "^18.0.0",
|
||||||
"react-dom": "^18.0.0",
|
"react-dom": "^18.0.0",
|
||||||
"react-native": "^0.73.1",
|
"react-native": "^0.76.0",
|
||||||
"react-native-svg": "^15.0.0",
|
"react-native-svg": "^15.8.0",
|
||||||
"rollup": "^4.9.2",
|
"rollup": "^4.22.4",
|
||||||
"rollup-plugin-dts": "^6.1.0",
|
"rollup-plugin-dts": "^6.1.0",
|
||||||
"typescript": "^4.8.4",
|
"typescript": "^4.8.4",
|
||||||
"vite": "5.0.13",
|
"vite": "5.1.8",
|
||||||
"vitest": "^1.1.1"
|
"vitest": "^1.1.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -58,10 +58,10 @@
|
|||||||
"jest-serializer-html": "^7.1.0",
|
"jest-serializer-html": "^7.1.0",
|
||||||
"react": "18.2.0",
|
"react": "18.2.0",
|
||||||
"react-dom": "18.2.0",
|
"react-dom": "18.2.0",
|
||||||
"rollup": "^4.9.2",
|
"rollup": "^4.22.4",
|
||||||
"rollup-plugin-dts": "^6.1.0",
|
"rollup-plugin-dts": "^6.1.0",
|
||||||
"typescript": "^4.9.5",
|
"typescript": "^4.9.5",
|
||||||
"vite": "5.0.13",
|
"vite": "5.1.8",
|
||||||
"vitest": "^1.1.1"
|
"vitest": "^1.1.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -80,10 +80,10 @@
|
|||||||
"@testing-library/jest-dom": "^6.4.2",
|
"@testing-library/jest-dom": "^6.4.2",
|
||||||
"babel-preset-solid": "^1.8.12",
|
"babel-preset-solid": "^1.8.12",
|
||||||
"jest-serializer-html": "^7.1.0",
|
"jest-serializer-html": "^7.1.0",
|
||||||
"rollup": "^4.9.2",
|
"rollup": "^4.22.4",
|
||||||
"solid-js": "^1.8.7",
|
"solid-js": "^1.8.7",
|
||||||
"typescript": "^4.9.4",
|
"typescript": "^4.9.4",
|
||||||
"vite": "5.0.13",
|
"vite": "5.1.8",
|
||||||
"vite-plugin-solid": "^2.10.1",
|
"vite-plugin-solid": "^2.10.1",
|
||||||
"vitest": "^1.1.1",
|
"vitest": "^1.1.1",
|
||||||
"esbuild": "^0.19.11"
|
"esbuild": "^0.19.11"
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
"@lucide/build-icons": "workspace:*",
|
"@lucide/build-icons": "workspace:*",
|
||||||
"@lucide/rollup-plugins": "workspace:*",
|
"@lucide/rollup-plugins": "workspace:*",
|
||||||
"@lucide/helpers": "workspace:*",
|
"@lucide/helpers": "workspace:*",
|
||||||
"rollup": "^4.9.2",
|
"rollup": "^4.22.4",
|
||||||
"rollup-plugin-dts": "^6.1.0"
|
"rollup-plugin-dts": "^6.1.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@
|
|||||||
"svelte-check": "^3.4.4",
|
"svelte-check": "^3.4.4",
|
||||||
"svelte-preprocess": "^5.0.4",
|
"svelte-preprocess": "^5.0.4",
|
||||||
"typescript": "^5.1.6",
|
"typescript": "^5.1.6",
|
||||||
"vite": "5.0.13",
|
"vite": "5.1.8",
|
||||||
"vitest": "^1.1.1"
|
"vitest": "^1.1.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
|
|||||||
@@ -52,9 +52,9 @@
|
|||||||
"@testing-library/vue": "^8.0.3",
|
"@testing-library/vue": "^8.0.3",
|
||||||
"@vitejs/plugin-vue": "^4.6.2",
|
"@vitejs/plugin-vue": "^4.6.2",
|
||||||
"@vue/test-utils": "2.4.5",
|
"@vue/test-utils": "2.4.5",
|
||||||
"rollup": "^4.9.2",
|
"rollup": "^4.22.4",
|
||||||
"rollup-plugin-dts": "^6.1.0",
|
"rollup-plugin-dts": "^6.1.0",
|
||||||
"vite": "5.0.13",
|
"vite": "5.1.8",
|
||||||
"vitest": "^1.4.0",
|
"vitest": "^1.4.0",
|
||||||
"vue": "^3.4.21"
|
"vue": "^3.4.21"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -50,9 +50,9 @@
|
|||||||
"@testing-library/vue": "^5.9.0",
|
"@testing-library/vue": "^5.9.0",
|
||||||
"@vitejs/plugin-vue2": "2.2.0",
|
"@vitejs/plugin-vue2": "2.2.0",
|
||||||
"@vue/test-utils": "1.3.0",
|
"@vue/test-utils": "1.3.0",
|
||||||
"rollup": "^3.23.0",
|
"rollup": "^3.29.5",
|
||||||
"typescript": "^4.9.5",
|
"typescript": "^4.9.5",
|
||||||
"vite": "5.0.13",
|
"vite": "5.1.8",
|
||||||
"vitest": "^0.32.2",
|
"vitest": "^0.32.2",
|
||||||
"vue": "2.7.14",
|
"vue": "2.7.14",
|
||||||
"vue-template-compiler": "2.7.14"
|
"vue-template-compiler": "2.7.14"
|
||||||
|
|||||||
@@ -44,13 +44,13 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@lucide/build-icons": "workspace:*",
|
"@lucide/build-icons": "workspace:*",
|
||||||
"@lucide/rollup-plugins": "workspace:*",
|
"@lucide/rollup-plugins": "workspace:*",
|
||||||
"@rollup/plugin-replace": "^5.0.5",
|
"@rollup/plugin-replace": "^6.0.1",
|
||||||
"@testing-library/jest-dom": "^6.1.6",
|
"@testing-library/jest-dom": "^6.1.6",
|
||||||
"jest-serializer-html": "^7.1.0",
|
"jest-serializer-html": "^7.1.0",
|
||||||
"rollup": "^4.9.2",
|
"rollup": "^4.22.4",
|
||||||
"rollup-plugin-dts": "^6.1.0",
|
"rollup-plugin-dts": "^6.1.0",
|
||||||
"typescript": "^4.9.3",
|
"typescript": "^4.9.3",
|
||||||
"vite": "5.0.13",
|
"vite": "5.1.8",
|
||||||
"vitest": "^1.1.1"
|
"vitest": "^1.1.1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,5 +7,12 @@
|
|||||||
"types": "src/index.ts",
|
"types": "src/index.ts",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC"
|
"license": "ISC",
|
||||||
|
"scripts": {
|
||||||
|
"test": "vitest run",
|
||||||
|
"test:watch": "vitest watch"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"vitest": "^2.1.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,6 +9,17 @@ import { CamelToPascal } from './utility-types';
|
|||||||
export const toKebabCase = (string: string) =>
|
export const toKebabCase = (string: string) =>
|
||||||
string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Converts string to camel case
|
||||||
|
*
|
||||||
|
* @param {string} string
|
||||||
|
* @returns {string} A camelized string
|
||||||
|
*/
|
||||||
|
export const toCamelCase = <T extends string>(string: T) =>
|
||||||
|
string.replace(/^([A-Z])|[\s-_]+(\w)/g, (match, p1, p2) =>
|
||||||
|
p2 ? p2.toUpperCase() : p1.toLowerCase(),
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts string to pascal case
|
* Converts string to pascal case
|
||||||
*
|
*
|
||||||
@@ -16,9 +27,7 @@ export const toKebabCase = (string: string) =>
|
|||||||
* @returns {string} A pascalized string
|
* @returns {string} A pascalized string
|
||||||
*/
|
*/
|
||||||
export const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {
|
export const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {
|
||||||
const camelCase = string.replace(/^([A-Z])|[\s-_]+(\w)/g, (match, p1, p2) =>
|
const camelCase = toCamelCase(string);
|
||||||
p2 ? p2.toUpperCase() : p1.toLowerCase(),
|
|
||||||
);
|
|
||||||
|
|
||||||
return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;
|
return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;
|
||||||
};
|
};
|
||||||
@@ -32,6 +41,11 @@ export const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {
|
|||||||
export const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>
|
export const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>
|
||||||
classes
|
classes
|
||||||
.filter((className, index, array) => {
|
.filter((className, index, array) => {
|
||||||
return Boolean(className) && array.indexOf(className) === index;
|
return (
|
||||||
|
Boolean(className) &&
|
||||||
|
(className as string).trim() !== '' &&
|
||||||
|
array.indexOf(className) === index
|
||||||
|
);
|
||||||
})
|
})
|
||||||
.join(' ');
|
.join(' ')
|
||||||
|
.trim();
|
||||||
|
|||||||
29
packages/shared/tests/utils.spec.tsx
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import { describe, it, expect } from 'vitest';
|
||||||
|
import { mergeClasses } from '../src/utils';
|
||||||
|
|
||||||
|
describe('mergeClasses', () => {
|
||||||
|
it('merges classes', async () => {
|
||||||
|
const classes = mergeClasses('lucide', 'lucide-circle', 'custom-class');
|
||||||
|
expect(classes).toBe('lucide lucide-circle custom-class');
|
||||||
|
});
|
||||||
|
it('ignores empty string', async () => {
|
||||||
|
const classes = mergeClasses('lucide', 'lucide-circle', '');
|
||||||
|
expect(classes).toBe('lucide lucide-circle');
|
||||||
|
});
|
||||||
|
it('ignores undefined', async () => {
|
||||||
|
const classes = mergeClasses('lucide', 'lucide-circle', undefined);
|
||||||
|
expect(classes).toBe('lucide lucide-circle');
|
||||||
|
});
|
||||||
|
it('removes duplicates', async () => {
|
||||||
|
const classes = mergeClasses('lucide', 'lucide-circle', 'lucide');
|
||||||
|
expect(classes).toBe('lucide lucide-circle');
|
||||||
|
});
|
||||||
|
it('trims the string', async () => {
|
||||||
|
const classes = mergeClasses('lucide', 'lucide-circle', ' ');
|
||||||
|
expect(classes).toBe('lucide lucide-circle');
|
||||||
|
});
|
||||||
|
it('trims the sub strings', async () => {
|
||||||
|
const classes = mergeClasses('lucide', ' ', 'lucide-circle');
|
||||||
|
expect(classes).toBe('lucide lucide-circle');
|
||||||
|
});
|
||||||
|
});
|
||||||
5888
pnpm-lock.yaml
generated
@@ -11,8 +11,8 @@
|
|||||||
"author": "",
|
"author": "",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fs-extra": "^11.1.1",
|
"fs-extra": "^11.2.0",
|
||||||
"minimist": "^1.2.8",
|
"minimist": "^1.2.8",
|
||||||
"svgtofont": "^3.25.4"
|
"svgtofont": "^6.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,6 @@
|
|||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"minimist": "^1.2.8",
|
"minimist": "^1.2.8",
|
||||||
"oslllo-svg-fixer": "^3.0.0"
|
"oslllo-svg-fixer": "^5.0.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,9 +10,9 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@atomico/rollup-plugin-sizes": "^1.1.4",
|
"@atomico/rollup-plugin-sizes": "^1.1.4",
|
||||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||||
"@rollup/plugin-replace": "^5.0.5",
|
"@rollup/plugin-replace": "^6.0.1",
|
||||||
"esbuild": "^0.19.11",
|
"esbuild": "^0.19.11",
|
||||||
"rollup": "^4.9.2",
|
"rollup": "^4.22.4",
|
||||||
"rollup-plugin-esbuild": "^6.1.0",
|
"rollup-plugin-esbuild": "^6.1.0",
|
||||||
"rollup-plugin-license": "^3.2.0",
|
"rollup-plugin-license": "^3.2.0",
|
||||||
"rollup-plugin-visualizer": "^5.12.0"
|
"rollup-plugin-visualizer": "^5.12.0"
|
||||||
|
|||||||