From d70a4a0b9a00d8a2910acd2b03cf1cbf7cf41643 Mon Sep 17 00:00:00 2001 From: Giliam Verheide Date: Thu, 13 Jun 2024 21:31:35 +0200 Subject: [PATCH 01/21] Add icons `align-left-2`, `align-right-2` (#1141) * Create circle-plus.svg * Create align-left-2, align-right-2 * Added tags and category to align-left-2 and align-right-2 icons --- icons/outline/align-left-2.svg | 20 ++++++++++++++++++++ icons/outline/align-right-2.svg | 20 ++++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 icons/outline/align-left-2.svg create mode 100644 icons/outline/align-right-2.svg diff --git a/icons/outline/align-left-2.svg b/icons/outline/align-left-2.svg new file mode 100644 index 0000000000..5bbec042a4 --- /dev/null +++ b/icons/outline/align-left-2.svg @@ -0,0 +1,20 @@ + + + + + + + diff --git a/icons/outline/align-right-2.svg b/icons/outline/align-right-2.svg new file mode 100644 index 0000000000..c57d3930f0 --- /dev/null +++ b/icons/outline/align-right-2.svg @@ -0,0 +1,20 @@ + + + + + + + \ No newline at end of file From 3e00e95c63caab72908e27f3fc48446c07136d2d Mon Sep 17 00:00:00 2001 From: Maurici Abad Gutierrez Date: Thu, 13 Jun 2024 21:32:18 +0200 Subject: [PATCH 02/21] Add icon `binoculars` (#1155) --- icons/filled/binoculars.svg | 12 ++++++++++++ icons/outline/binoculars.svg | 22 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 icons/filled/binoculars.svg create mode 100644 icons/outline/binoculars.svg diff --git a/icons/filled/binoculars.svg b/icons/filled/binoculars.svg new file mode 100644 index 0000000000..8e49f71c08 --- /dev/null +++ b/icons/filled/binoculars.svg @@ -0,0 +1,12 @@ + + + + diff --git a/icons/outline/binoculars.svg b/icons/outline/binoculars.svg new file mode 100644 index 0000000000..cca07ddb33 --- /dev/null +++ b/icons/outline/binoculars.svg @@ -0,0 +1,22 @@ + + + + + + + + + + From e28c7696d4099aa68ffe3941f1ab0f3517207eac Mon Sep 17 00:00:00 2001 From: codecalm Date: Thu, 13 Jun 2024 21:32:52 +0200 Subject: [PATCH 03/21] optimize some icons --- icons/filled/binoculars.svg | 2 +- icons/outline/binoculars.svg | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/icons/filled/binoculars.svg b/icons/filled/binoculars.svg index 8e49f71c08..48e6de9001 100644 --- a/icons/filled/binoculars.svg +++ b/icons/filled/binoculars.svg @@ -8,5 +8,5 @@ tags: [birds, explorer, field glasses, magnifying eye glasses, observe, view, wa viewBox="0 0 24 24" fill="currentColor" > - + diff --git a/icons/outline/binoculars.svg b/icons/outline/binoculars.svg index cca07ddb33..d4efae29c6 100644 --- a/icons/outline/binoculars.svg +++ b/icons/outline/binoculars.svg @@ -12,11 +12,11 @@ tags: [birds, explorer, field glasses, magnifying eye glasses, observe, view, wa stroke-linecap="round" stroke-linejoin="round" > - - - - - - + + + + + + From cd874b1ee19b4b51a030770c0190a0066ce85d91 Mon Sep 17 00:00:00 2001 From: Ian Amancio <78366584+ian-amancio@users.noreply.github.com> Date: Thu, 13 Jun 2024 16:33:06 -0300 Subject: [PATCH 04/21] Fix: Correct category in metadata of cash-register.svg (#1149) --- icons/outline/cash-register.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/icons/outline/cash-register.svg b/icons/outline/cash-register.svg index c548db5b2c..04f1a066a7 100644 --- a/icons/outline/cash-register.svg +++ b/icons/outline/cash-register.svg @@ -1,6 +1,6 @@ From 20ac0227527584bbede69562ad3f20f1d9e7b7fc Mon Sep 17 00:00:00 2001 From: Maurici Abad Gutierrez Date: Thu, 13 Jun 2024 21:33:34 +0200 Subject: [PATCH 05/21] Add tags to `briefcase` icon (#1146) * Add tags to b`briefcase` icon * Update briefcase-2.svg * Update briefcase.svg --- icons/outline/briefcase-2.svg | 1 + icons/outline/briefcase.svg | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/icons/outline/briefcase-2.svg b/icons/outline/briefcase-2.svg index 2b7720e748..dcbe4af7f0 100644 --- a/icons/outline/briefcase-2.svg +++ b/icons/outline/briefcase-2.svg @@ -1,4 +1,5 @@ diff --git a/icons/outline/briefcase.svg b/icons/outline/briefcase.svg index d6c6120750..8382c0713d 100644 --- a/icons/outline/briefcase.svg +++ b/icons/outline/briefcase.svg @@ -1,5 +1,5 @@ From 8951f6fdfa9a18aa4886ee85759e69a3eb54b41f Mon Sep 17 00:00:00 2001 From: Maurici Abad Gutierrez Date: Thu, 13 Jun 2024 21:34:16 +0200 Subject: [PATCH 06/21] Add icon `cliff-jumping` (#1153) --- icons/outline/cliff-jumping.svg | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 icons/outline/cliff-jumping.svg diff --git a/icons/outline/cliff-jumping.svg b/icons/outline/cliff-jumping.svg new file mode 100644 index 0000000000..bb74ebf05d --- /dev/null +++ b/icons/outline/cliff-jumping.svg @@ -0,0 +1,21 @@ + + + + + + + + From 8d3d18875f9c740e055809456936f25a357d7d4b Mon Sep 17 00:00:00 2001 From: codecalm Date: Thu, 13 Jun 2024 21:35:30 +0200 Subject: [PATCH 07/21] optimize some icons --- icons/outline/cliff-jumping.svg | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/icons/outline/cliff-jumping.svg b/icons/outline/cliff-jumping.svg index bb74ebf05d..70f2249c56 100644 --- a/icons/outline/cliff-jumping.svg +++ b/icons/outline/cliff-jumping.svg @@ -13,9 +13,9 @@ category: Sport stroke-linecap="round" stroke-linejoin="round" > - - - - - + + + + + From 9208183a17558f62ddb0d6f407b0d095c9117452 Mon Sep 17 00:00:00 2001 From: Maurici Abad Gutierrez Date: Thu, 13 Jun 2024 21:37:59 +0200 Subject: [PATCH 08/21] Add icon `scuba-diving-tank` (#1154) --- icons/filled/scuba-diving-tank.svg | 18 ++++++++++++++++++ icons/outline/scuba-diving-tank.svg | 22 ++++++++++++++++++++++ icons/outline/scuba-diving.svg | 2 ++ 3 files changed, 42 insertions(+) create mode 100644 icons/filled/scuba-diving-tank.svg create mode 100644 icons/outline/scuba-diving-tank.svg diff --git a/icons/filled/scuba-diving-tank.svg b/icons/filled/scuba-diving-tank.svg new file mode 100644 index 0000000000..e0dc28c5b6 --- /dev/null +++ b/icons/filled/scuba-diving-tank.svg @@ -0,0 +1,18 @@ + + + + + + + + + \ No newline at end of file diff --git a/icons/outline/scuba-diving-tank.svg b/icons/outline/scuba-diving-tank.svg new file mode 100644 index 0000000000..7e25d32e5e --- /dev/null +++ b/icons/outline/scuba-diving-tank.svg @@ -0,0 +1,22 @@ + + + + + + + + + \ No newline at end of file diff --git a/icons/outline/scuba-diving.svg b/icons/outline/scuba-diving.svg index aca381fc41..e57d2b21a4 100644 --- a/icons/outline/scuba-diving.svg +++ b/icons/outline/scuba-diving.svg @@ -1,4 +1,6 @@ From 044e5b4a465f478e3e1f428eae7ee06ebbb086b4 Mon Sep 17 00:00:00 2001 From: codecalm Date: Thu, 13 Jun 2024 21:45:44 +0200 Subject: [PATCH 09/21] Fixed icons: `filled/scuba-diving-tank`, `outline/scuba-diving-tank` --- icons/filled/scuba-diving-tank.svg | 10 +++------- icons/outline/scuba-diving-tank.svg | 12 ++++++------ 2 files changed, 9 insertions(+), 13 deletions(-) diff --git a/icons/filled/scuba-diving-tank.svg b/icons/filled/scuba-diving-tank.svg index e0dc28c5b6..deec0c8422 100644 --- a/icons/filled/scuba-diving-tank.svg +++ b/icons/filled/scuba-diving-tank.svg @@ -9,10 +9,6 @@ category: Sport viewBox="0 0 24 24" fill="currentColor" > - - - - - - - \ No newline at end of file + + + diff --git a/icons/outline/scuba-diving-tank.svg b/icons/outline/scuba-diving-tank.svg index 7e25d32e5e..8f34564085 100644 --- a/icons/outline/scuba-diving-tank.svg +++ b/icons/outline/scuba-diving-tank.svg @@ -13,10 +13,10 @@ category: Sport stroke-linecap="round" stroke-linejoin="round" > - - + + - - - - \ No newline at end of file + + + + From 8cd64d2e32e9637fee387652f1f6f9bcb61da993 Mon Sep 17 00:00:00 2001 From: Maurici Abad Gutierrez Date: Thu, 13 Jun 2024 21:47:32 +0200 Subject: [PATCH 10/21] Add icon `building-off` (#1137) --- icons/outline/building-off.svg | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 icons/outline/building-off.svg diff --git a/icons/outline/building-off.svg b/icons/outline/building-off.svg new file mode 100644 index 0000000000..844eb10f0f --- /dev/null +++ b/icons/outline/building-off.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + \ No newline at end of file From 71767d1ea2b4e8372a47ba73cb8a05d61f468f4f Mon Sep 17 00:00:00 2001 From: codecalm Date: Thu, 13 Jun 2024 21:48:12 +0200 Subject: [PATCH 11/21] Fixed icon: `outline/building-off` --- icons/outline/building-off.svg | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/icons/outline/building-off.svg b/icons/outline/building-off.svg index 844eb10f0f..78181924b0 100644 --- a/icons/outline/building-off.svg +++ b/icons/outline/building-off.svg @@ -13,13 +13,13 @@ category: Buildings stroke-linecap="round" stroke-linejoin="round" > - - - - - - - - - - \ No newline at end of file + + + + + + + + + + From c0489b2ff55aba119f8d7d8832395c4a93c2aaf4 Mon Sep 17 00:00:00 2001 From: codecalm Date: Thu, 13 Jun 2024 21:53:50 +0200 Subject: [PATCH 12/21] 4 new icons: `filled/mood-angry`, `filled/mood-crazy-happy`, `filled/mood-wrrr`, `filled/pill` --- icons/filled/mood-angry.svg | 11 +++++++++++ icons/filled/mood-crazy-happy.svg | 11 +++++++++++ icons/filled/mood-wrrr.svg | 11 +++++++++++ icons/filled/pill.svg | 11 +++++++++++ 4 files changed, 44 insertions(+) create mode 100644 icons/filled/mood-angry.svg create mode 100644 icons/filled/mood-crazy-happy.svg create mode 100644 icons/filled/mood-wrrr.svg create mode 100644 icons/filled/pill.svg diff --git a/icons/filled/mood-angry.svg b/icons/filled/mood-angry.svg new file mode 100644 index 0000000000..7648f4de12 --- /dev/null +++ b/icons/filled/mood-angry.svg @@ -0,0 +1,11 @@ + + + + diff --git a/icons/filled/mood-crazy-happy.svg b/icons/filled/mood-crazy-happy.svg new file mode 100644 index 0000000000..93fe3dbccc --- /dev/null +++ b/icons/filled/mood-crazy-happy.svg @@ -0,0 +1,11 @@ + + + + diff --git a/icons/filled/mood-wrrr.svg b/icons/filled/mood-wrrr.svg new file mode 100644 index 0000000000..17430d7713 --- /dev/null +++ b/icons/filled/mood-wrrr.svg @@ -0,0 +1,11 @@ + + + + diff --git a/icons/filled/pill.svg b/icons/filled/pill.svg new file mode 100644 index 0000000000..d39aeb76d9 --- /dev/null +++ b/icons/filled/pill.svg @@ -0,0 +1,11 @@ + + + + From 8c8a03a4d1a2559d2ef62ecb48c410d1d9f68044 Mon Sep 17 00:00:00 2001 From: codecalm Date: Thu, 13 Jun 2024 21:59:57 +0200 Subject: [PATCH 13/21] 3 new icons: `filled/rosette-discount`, `filled/tag`, `filled/tags` --- icons/filled/rosette-discount.svg | 11 +++++++++++ icons/filled/tag.svg | 11 +++++++++++ icons/filled/tags.svg | 12 ++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 icons/filled/rosette-discount.svg create mode 100644 icons/filled/tag.svg create mode 100644 icons/filled/tags.svg diff --git a/icons/filled/rosette-discount.svg b/icons/filled/rosette-discount.svg new file mode 100644 index 0000000000..3c23378242 --- /dev/null +++ b/icons/filled/rosette-discount.svg @@ -0,0 +1,11 @@ + + + + diff --git a/icons/filled/tag.svg b/icons/filled/tag.svg new file mode 100644 index 0000000000..e68384dcfa --- /dev/null +++ b/icons/filled/tag.svg @@ -0,0 +1,11 @@ + + + + diff --git a/icons/filled/tags.svg b/icons/filled/tags.svg new file mode 100644 index 0000000000..3aba3c6136 --- /dev/null +++ b/icons/filled/tags.svg @@ -0,0 +1,12 @@ + + + + + From f8fb922aca686a1bf2e047d1cea450cc98c19694 Mon Sep 17 00:00:00 2001 From: codecalm Date: Thu, 13 Jun 2024 22:06:54 +0200 Subject: [PATCH 14/21] 2 new icons: `filled/receipt`, `filled/steering-wheel` --- icons/filled/receipt.svg | 11 +++++++++++ icons/filled/steering-wheel.svg | 11 +++++++++++ 2 files changed, 22 insertions(+) create mode 100644 icons/filled/receipt.svg create mode 100644 icons/filled/steering-wheel.svg diff --git a/icons/filled/receipt.svg b/icons/filled/receipt.svg new file mode 100644 index 0000000000..e00e096971 --- /dev/null +++ b/icons/filled/receipt.svg @@ -0,0 +1,11 @@ + + + + diff --git a/icons/filled/steering-wheel.svg b/icons/filled/steering-wheel.svg new file mode 100644 index 0000000000..e7256db345 --- /dev/null +++ b/icons/filled/steering-wheel.svg @@ -0,0 +1,11 @@ + + + + From c898ade0f03d20cee90f3bdd813afad6e9a2922c Mon Sep 17 00:00:00 2001 From: BG-Software <73077398+BG-Software-BG@users.noreply.github.com> Date: Thu, 13 Jun 2024 22:08:44 +0200 Subject: [PATCH 15/21] Add title to icon's as child tag in React, Vue.js and React Native (#1147) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add title as child tag of in icons-react * Add title as child tag of in icons-vue package * Add title as child tag of in icons-react-native package * Test element in React * Prevent adding to if no title prop passed + Test child element. * Fix tests for Vue Stroke attribute added to expected SVG code. --------- Co-authored-by: Bartłomiej Gawęda --- .../src/createReactNativeComponent.ts | 7 +++++-- packages/icons-react-native/src/types.ts | 1 + .../icons-react/src/createReactComponent.ts | 3 ++- packages/icons-react/src/types.ts | 1 + packages/icons-react/test.spec.tsx | 12 +++++++++--- packages/icons-vue/src/createVueComponent.ts | 6 ++++-- packages/icons-vue/src/types.ts | 1 + packages/icons-vue/test.spec.js | 18 ++++++++++++++++-- 8 files changed, 39 insertions(+), 10 deletions(-) diff --git a/packages/icons-react-native/src/createReactNativeComponent.ts b/packages/icons-react-native/src/createReactNativeComponent.ts index 3786d5fce4..e14ee93232 100644 --- a/packages/icons-react-native/src/createReactNativeComponent.ts +++ b/packages/icons-react-native/src/createReactNativeComponent.ts @@ -10,7 +10,7 @@ const createReactNativeComponent = ( iconNode: IconNode, ): Icon => { const Component = forwardRef( - ({ color = 'currentColor', size = 24, strokeWidth = 2, children, ...rest }: IconProps, ref) => { + ({ color = 'currentColor', size = 24, strokeWidth = 2, title, children, ...rest }: IconProps, ref) => { const customAttrs = { stroke: color, strokeWidth, @@ -37,7 +37,10 @@ const createReactNativeComponent = ( { ...childDefaultAttributes[type], ...customAttrs, ...attrs } as IconProps, ); }), - ...((Array.isArray(children) ? children : [children]) || []), + [ + title && createElement('title', { key: 'svg-title' }, title), + ...((Array.isArray(children) ? children : [children]) || []) + ], ], ); }, diff --git a/packages/icons-react-native/src/types.ts b/packages/icons-react-native/src/types.ts index d0895b9cbc..ab5dbe72e5 100644 --- a/packages/icons-react-native/src/types.ts +++ b/packages/icons-react-native/src/types.ts @@ -10,6 +10,7 @@ export type SVGAttributes = Partial>; export interface IconProps extends SvgProps { size?: string | number; strokeWidth?: string | number; + title?: string; } export type Icon = ForwardRefExoticComponent; diff --git a/packages/icons-react/src/createReactComponent.ts b/packages/icons-react/src/createReactComponent.ts index 8a28250c88..79a10811f1 100644 --- a/packages/icons-react/src/createReactComponent.ts +++ b/packages/icons-react/src/createReactComponent.ts @@ -10,7 +10,7 @@ const createReactComponent = ( ) => { const Component = forwardRef( ( - { color = 'currentColor', size = 24, stroke = 2, className, children, ...rest }: IconProps, + { color = 'currentColor', size = 24, stroke = 2, title, className, children, ...rest }: IconProps, ref, ) => createElement( @@ -32,6 +32,7 @@ const createReactComponent = ( ...rest, }, [ + title && createElement('title', { key: 'svg-title' }, title), ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)), ...(Array.isArray(children) ? children : [children]), ], diff --git a/packages/icons-react/src/types.ts b/packages/icons-react/src/types.ts index 1f69cfd1d4..04a82ce835 100644 --- a/packages/icons-react/src/types.ts +++ b/packages/icons-react/src/types.ts @@ -7,6 +7,7 @@ export type IconNode = [elementName: keyof ReactSVG, attrs: Record, 'stroke'>> { size?: string | number; stroke?: string | number; + title?: string; } export type Icon = FunctionComponent; diff --git a/packages/icons-react/test.spec.tsx b/packages/icons-react/test.spec.tsx index 8ba094a105..41b611fe13 100644 --- a/packages/icons-react/test.spec.tsx +++ b/packages/icons-react/test.spec.tsx @@ -1,8 +1,6 @@ -import { describe, it, expect, afterEach, assertType, expectTypeOf } from 'vitest'; +import { describe, it, expect, afterEach, expectTypeOf } from 'vitest'; import { render, cleanup } from '@testing-library/react' import { IconAccessible, IconAccessibleFilled, createReactComponent } from "./src/tabler-icons-react" -import type { IconNode } from './src/tabler-icons-react'; -import { ReactNode } from 'react'; describe("React Icon component", () => { afterEach(() => { @@ -58,6 +56,14 @@ describe("React Icon component", () => { expectTypeOf(IconAccessible).toEqualTypeOf(createReactComponent('outline', 'accessible', 'Accessible', [])); }); + it('should add title child element to svg when title prop is passed', () => { + const { container } = render(); + const svg = container.getElementsByTagName("svg")[0]; + const title = svg.getElementsByTagName("title")[0]; + + expect(title).toHaveTextContent("Accessible Icon"); + }) + it("should match snapshot", () => { const { container } = render() expect(container.innerHTML).toMatchInlineSnapshot(` diff --git a/packages/icons-vue/src/createVueComponent.ts b/packages/icons-vue/src/createVueComponent.ts index 5d23dcb04e..9096ebaff8 100644 --- a/packages/icons-vue/src/createVueComponent.ts +++ b/packages/icons-vue/src/createVueComponent.ts @@ -9,7 +9,9 @@ const createVueComponent = iconNamePascal: string, iconNode: IconNode, ): Icon => - ({ size, color = 'currentColor', class: classes, stroke, ...rest }: IconProps, { attrs, slots }) => { + ({ color = 'currentColor', size, stroke, title, class: classes, ...rest }: IconProps, { attrs, slots }) => { + let children = [...iconNode.map((child) => h(...child)), ...(slots.default ? [slots.default()] : [])]; + if (title) children = [h('title', title), ...children]; return h( 'svg', { @@ -28,7 +30,7 @@ const createVueComponent = }), ...rest, }, - [...iconNode.map((child) => h(...child)), ...(slots.default ? [slots.default()] : [])], + children, ); }; diff --git a/packages/icons-vue/src/types.ts b/packages/icons-vue/src/types.ts index 3adec3583f..8455795278 100644 --- a/packages/icons-vue/src/types.ts +++ b/packages/icons-vue/src/types.ts @@ -11,4 +11,5 @@ export type Icon = FunctionalComponent; export interface IconProps extends Partial> { size?: string | number; stroke?: string | number; + title?: string; } diff --git a/packages/icons-vue/test.spec.js b/packages/icons-vue/test.spec.js index c39a4671d2..32e39be235 100644 --- a/packages/icons-vue/test.spec.js +++ b/packages/icons-vue/test.spec.js @@ -67,6 +67,20 @@ describe("Vue Icon component", () => { expect(svg.getAttribute("stroke-width")).toBe(null) }) + it('should add title child element to svg when title prop is passed', () => { + const { container } = render(IconAccessible, { + props: { + title: 'Test Title', + } + }) + + const svg = container.getElementsByTagName("svg")[0] + const title = container.getElementsByTagName("title")[0] + + expect(title).toHaveTextContent('Test Title') + expect(svg).toContainElement(title) + }) + it('should call the onClick event', async () => { const onClick = vi.fn() const { container } = render(IconAccessible, { @@ -97,11 +111,11 @@ describe("Vue Icon component", () => { const textElement = getByText(testText) expect(textElement).toBeInTheDocument() - expect(container.innerHTML).toMatchInlineSnapshot(`"Hello World"`); + expect(container.innerHTML).toMatchInlineSnapshot(`"Hello World"`); }); it("should match snapshot", () => { const { container } = render(IconAccessible); - expect(container.innerHTML).toMatchInlineSnapshot(`""`) + expect(container.innerHTML).toMatchInlineSnapshot(`""`) }) }) From b6591cec2d89c4303c13e45cc82412da62dc7d7f Mon Sep 17 00:00:00 2001 From: BG-Software <73077398+BG-Software-BG@users.noreply.github.com> Date: Thu, 13 Jun 2024 22:10:57 +0200 Subject: [PATCH 16/21] Add to <svg> in SolidJS (#1156) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds <title> child tag & title property in built package, but still doesn't show it on hover. Co-authored-by: Bartłomiej Gawęda <bgaweda@abis.krakow.pl> --- packages/icons-solidjs/src/createSolidComponent.ts | 9 +++++++-- packages/icons-solidjs/src/types.ts | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/icons-solidjs/src/createSolidComponent.ts b/packages/icons-solidjs/src/createSolidComponent.ts index 2c64966e87..93a4832984 100644 --- a/packages/icons-solidjs/src/createSolidComponent.ts +++ b/packages/icons-solidjs/src/createSolidComponent.ts @@ -10,13 +10,14 @@ const createSolidComponent = ( iconNode: IconNode, ) => { const Component = (props: IconProps) => { - const [localProps, rest] = splitProps(props, ['color', 'size', 'stroke', 'children', 'class']), + const [localProps, rest] = splitProps(props, ['color', 'size', 'stroke', 'title', 'children', 'class']), attributes = defaultAttributes[type]; const svgProps = { ...attributes, width: () => (localProps.size != null ? localProps.size : attributes.width), height: () => (localProps.size != null ? localProps.size : attributes.height), + title: () => localProps.title != null ? localProps.title : undefined, ...(type === 'filled' ? { fill: () => (localProps.color != null ? localProps.color : 'currentColor'), @@ -33,7 +34,11 @@ const createSolidComponent = ( return h( 'svg', [svgProps, rest], - [...iconNode.map(([tag, attrs]) => h(tag, attrs)), localProps.children], + [ + localProps.title && h('title', {}, localProps.title), + ...iconNode.map(([tag, attrs]) => h(tag, attrs)), + localProps.children + ], ); }; diff --git a/packages/icons-solidjs/src/types.ts b/packages/icons-solidjs/src/types.ts index 99f3b20879..9766c1b0e9 100644 --- a/packages/icons-solidjs/src/types.ts +++ b/packages/icons-solidjs/src/types.ts @@ -8,5 +8,6 @@ export interface IconProps extends SVGAttributes { color?: string; size?: string | number; strokeWidth?: string | number; + title?: string; class?: string; } From 4a8ba697b4de1161e365503ef15ca625a7a7f198 Mon Sep 17 00:00:00 2001 From: BG-Software <73077398+BG-Software-BG@users.noreply.github.com> Date: Thu, 13 Jun 2024 22:11:45 +0200 Subject: [PATCH 17/21] Add <title> to <svg> in Preact (#1157) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add <title> to <svg> in Preact Needs to be tested. * Uncomment title attribute --------- Co-authored-by: Bartłomiej Gawęda <bgaweda@abis.krakow.pl> --- packages/icons-preact/src/createPreactComponent.ts | 6 +++++- packages/icons-preact/src/types.ts | 1 + packages/icons-preact/test.spec.tsx | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/icons-preact/src/createPreactComponent.ts b/packages/icons-preact/src/createPreactComponent.ts index 81ed2062ac..297c35b34c 100644 --- a/packages/icons-preact/src/createPreactComponent.ts +++ b/packages/icons-preact/src/createPreactComponent.ts @@ -12,6 +12,7 @@ const createPreactComponent = ( color = 'currentColor', size = 24, stroke = 2, + title, children, className = '', style, @@ -35,7 +36,10 @@ const createPreactComponent = ( style, ...[rest], }, - [...iconNode.map(([tag, attrs]) => h(tag, attrs)), ...toChildArray(children)], + [ + title && h('title', {}, title), + ...iconNode.map(([tag, attrs]) => h(tag, attrs)), + ...toChildArray(children)], ); Component.displayName = `${iconNamePascal}`; diff --git a/packages/icons-preact/src/types.ts b/packages/icons-preact/src/types.ts index 39e9b7e7ea..6789929f3e 100644 --- a/packages/icons-preact/src/types.ts +++ b/packages/icons-preact/src/types.ts @@ -7,6 +7,7 @@ export interface IconProps color?: string; size?: string | number; stroke?: string | number; + title?: string; } export type Icon = FunctionComponent<IconProps>; diff --git a/packages/icons-preact/test.spec.tsx b/packages/icons-preact/test.spec.tsx index 4b6014cee2..3c047f30f4 100644 --- a/packages/icons-preact/test.spec.tsx +++ b/packages/icons-preact/test.spec.tsx @@ -51,6 +51,15 @@ describe("Preact Icon component", () => { expect(svg).toHaveStyle('color: rgb(255, 0, 0)') }) + it('should add a title element to the svg', () => { + const { container } = render(<IconAccessible title="Accessible Icon"/>) + const svg = container.getElementsByTagName("svg")[0] + const title = container.getElementsByTagName("title")[0] + + expect(svg.getAttribute("title")).toBe("Accessible Icon"); + expect(title).toHaveTextContent("Accessible Icon"); + }) + it("should match snapshot", () => { const { container } = render(<IconAccessible/>) expect(container.innerHTML).toMatchInlineSnapshot(` From f2fc9e8f51552eb859ac2ec5032b2686b1badf07 Mon Sep 17 00:00:00 2001 From: codecalm <codecalm@gmail.com> Date: Thu, 13 Jun 2024 22:17:23 +0200 Subject: [PATCH 18/21] Fixed icons: `filled/binoculars`, `filled/scuba-diving-tank` --- icons/filled/binoculars.svg | 1 - icons/filled/scuba-diving-tank.svg | 2 -- 2 files changed, 3 deletions(-) diff --git a/icons/filled/binoculars.svg b/icons/filled/binoculars.svg index 48e6de9001..b88bd5437c 100644 --- a/icons/filled/binoculars.svg +++ b/icons/filled/binoculars.svg @@ -1,5 +1,4 @@ <!-- -tags: [birds, explorer, field glasses, magnifying eye glasses, observe, view, watch] --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/scuba-diving-tank.svg b/icons/filled/scuba-diving-tank.svg index deec0c8422..ae0659475f 100644 --- a/icons/filled/scuba-diving-tank.svg +++ b/icons/filled/scuba-diving-tank.svg @@ -1,6 +1,4 @@ <!-- -tags: [dive, diving, water, open water, underwater, pressure, compressed air, air] -category: Sport --> <svg xmlns="http://www.w3.org/2000/svg" From 92395803130c0d4fec48e7339be3c299a54cc55e Mon Sep 17 00:00:00 2001 From: codecalm <codecalm@gmail.com> Date: Thu, 13 Jun 2024 22:29:57 +0200 Subject: [PATCH 19/21] Release 3.6.0 --- .github/tabler-icons-3.6.0.png | Bin 0 -> 17711 bytes .github/tabler-icons-3.6.0.svg | 76 +++++++++++++++++++++++ .github/tabler-icons-3.6.0@2x.png | Bin 0 -> 37991 bytes README.md | 6 +- icons/filled/binoculars.svg | 2 + icons/filled/mood-angry.svg | 2 + icons/filled/mood-crazy-happy.svg | 2 + icons/filled/mood-wrrr.svg | 2 + icons/filled/pill.svg | 2 + icons/filled/receipt.svg | 2 + icons/filled/rosette-discount.svg | 2 + icons/filled/scuba-diving-tank.svg | 2 + icons/filled/steering-wheel.svg | 2 + icons/filled/tag.svg | 2 + icons/filled/tags.svg | 2 + icons/outline/align-left-2.svg | 2 + icons/outline/align-right-2.svg | 2 + icons/outline/binoculars.svg | 2 + icons/outline/building-off.svg | 2 + icons/outline/cliff-jumping.svg | 2 + icons/outline/contract.svg | 2 + icons/outline/scuba-diving-tank.svg | 2 + package.json | 4 +- packages/icons-eps/README.md | 2 +- packages/icons-eps/package.json | 4 +- packages/icons-pdf/README.md | 2 +- packages/icons-pdf/package.json | 4 +- packages/icons-png/README.md | 2 +- packages/icons-png/package.json | 4 +- packages/icons-preact/package.json | 4 +- packages/icons-react-native/package.json | 4 +- packages/icons-react/package.json | 4 +- packages/icons-solidjs/package.json | 4 +- packages/icons-sprite/README.md | 2 +- packages/icons-sprite/package.json | 4 +- packages/icons-svelte/package.json | 76 ++++++++++++++++++++++- packages/icons-vue/package.json | 4 +- packages/icons-webfont/package.json | 4 +- packages/icons/README.md | 2 +- packages/icons/package.json | 2 +- pnpm-lock.yaml | 30 ++++----- test/test-preact/package.json | 4 +- test/test-react/package.json | 4 +- test/test-svelte/package.json | 4 +- test/test-vue/package.json | 4 +- 45 files changed, 240 insertions(+), 56 deletions(-) create mode 100644 .github/tabler-icons-3.6.0.png create mode 100644 .github/tabler-icons-3.6.0.svg create mode 100644 .github/tabler-icons-3.6.0@2x.png diff --git a/.github/tabler-icons-3.6.0.png b/.github/tabler-icons-3.6.0.png new file mode 100644 index 0000000000000000000000000000000000000000..c218ca1238786aa36044b899e430d717f79f699b GIT binary patch literal 17711 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 JihcU}KL8yoV_E<J literal 0 HcmV?d00001 diff --git a/.github/tabler-icons-3.6.0.svg b/.github/tabler-icons-3.6.0.svg new file mode 100644 index 0000000000..2097b38e30 --- /dev/null +++ b/.github/tabler-icons-3.6.0.svg @@ -0,0 +1,76 @@ +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 292 160" width="292" height="160" style="color: #354052"><rect x="0" y="0" width="292" height="160" fill="#fff"></rect> + <symbol id="outline-align-left-2" 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="M4 4v16" /> <path d="M8 6h12" /> <path d="M8 12h6" /> <path d="M8 18h10" /> +</symbol> + <symbol id="outline-align-right-2" 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="M20 4v16" /> <path d="M4 6h12" /> <path d="M10 12h6" /> <path d="M6 18h10" /> +</symbol> + <symbol id="outline-binoculars" 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="M7 16m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /> <path d="M17 16m-3 0a3 3 0 1 0 6 0a3 3 0 1 0 -6 0" /> <path d="M16.346 9.17l-.729 -1.261c-.16 -.248 -1.056 -.203 -1.117 .091l-.177 1.38" /> <path d="M19.761 14.813l-2.84 -5.133c-.189 -.31 -.592 -.68 -1.421 -.68c-.828 0 -1.5 .448 -1.5 1v6" /> <path d="M7.654 9.17l.729 -1.261c.16 -.249 1.056 -.203 1.117 .091l.177 1.38" /> <path d="M4.239 14.813l2.84 -5.133c.189 -.31 .592 -.68 1.421 -.68c.828 0 1.5 .448 1.5 1v6" /> <rect width="4" height="2" x="10" y="12" /> +</symbol> + <symbol id="outline-building-off" 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="M3 21h18" /> <path d="M9 12h1" /> <path d="M9 16h1" /> <path d="M14 8h1" /> <path d="M14 16h1" /> <path d="M5 21v-16" /> <path d="M7 3h10c1 0 2 1 2 2v10" /> <path d="M19 19v2" /> <path d="M3 3l18 18" /> +</symbol> + <symbol id="outline-cliff-jumping" 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="M14 7a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /> <path d="M10.5 18l2.5 2l2 -2" /> <path d="M18 21l3 -3l-4 -2l-1 -5" /> <path d="M10.5 7.5l2 3l3.5 .5l3 -2l.5 -3" /> <path d="M4 21v-1l2 -3l.5 -2.5l1.5 -2.5l-1 -5l1 -3l-1 -1l-2 .5l-2 -.5" /> +</symbol> + <symbol id="outline-contract" 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="M8 21h-2a3 3 0 0 1 -3 -3v-1h5.5" /> <path d="M17 8.5v-3.5a2 2 0 1 1 2 2h-2" /> <path d="M19 3h-11a3 3 0 0 0 -3 3v11" /> <path d="M9 7h4" /> <path d="M9 11h4" /> <path d="M18.42 12.61a2.1 2.1 0 0 1 2.97 2.97l-6.39 6.42h-3v-3z" /> +</symbol> + <symbol id="outline-scuba-diving-tank" 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="M8 11a4 4 0 1 1 8 0v5h-8z" /> <path d="M8 16v3a2 2 0 0 0 2 2h4a2 2 0 0 0 2 -2v-3" /> <path d="M9 4h6" /> <path d="M12 7v-3" /> <path d="M8 4m-1 0a1 1 0 1 0 2 0a1 1 0 1 0 -2 0" /> <circle cx="12" cy="4" r=".5" fill="currentColor" /> +</symbol> + <symbol id="filled-binoculars" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M8.887 6.748c-.163 0 -.337 .016 -.506 .057c-.172 .041 -.582 .165 -.838 .562l-.014 .02l-.607 1.05c-.307 .205 -.534 .46 -.693 .717l-.014 .02l-2.572 4.65a4.009 4.009 0 0 0 -.274 .494l-.006 .01a3.99 3.99 0 0 0 -.363 1.672a4 4 0 0 0 8 0v-1h2v1a4 4 0 1 0 7.635 -1.67l-.004 -.012a4.008 4.008 0 0 0 -.274 -.494l-2.572 -4.65l-.014 -.02a2.337 2.337 0 0 0 -.693 -.716l-.607 -1.051l-.014 -.02c-.256 -.397 -.667 -.52 -.838 -.562a2.225 2.225 0 0 0 -.664 -.051a2.06 2.06 0 0 0 -.68 .156c-.184 .081 -.638 .327 -.754 .889l-.007 .037l-.14 1.1c-.22 .283 -.374 .64 -.374 1.064v1h-2v-1c0 -.424 -.154 -.781 -.373 -1.064l-.14 -1.1l-.008 -.037c-.116 -.562 -.57 -.808 -.754 -.889a2.06 2.06 0 0 0 -.68 -.156a2.374 2.374 0 0 0 -.158 -.006zm-1.887 7.252a2 2 0 1 1 -1.838 1.209l.19 -.342c.36 -.523 .964 -.867 1.648 -.867zm10 0c.684 0 1.288 .344 1.648 .867l.19 .342a2 2 0 1 1 -1.838 -1.209z" /> +</symbol> + <symbol id="filled-mood-angry" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M12 2c5.523 0 10 4.477 10 10s-4.477 10 -10 10a10 10 0 1 1 0 -20m0 12a4.5 4.5 0 0 0 -3.214 1.35a1 1 0 1 0 1.428 1.4a2.5 2.5 0 0 1 3.572 0a1 1 0 0 0 1.428 -1.4a4.5 4.5 0 0 0 -3.214 -1.35m-3.553 -5.895a1 1 0 0 0 -.894 1.788l2 1a1 1 0 0 0 .894 -1.788zm8.447 .447a1 1 0 0 0 -1.341 -.447l-2 1a1 1 0 0 0 .894 1.788l2 -1a1 1 0 0 0 .447 -1.341" /> +</symbol> + <symbol id="filled-mood-crazy-happy" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M17 3.34a10 10 0 1 1 -15 8.66l.005 -.324a10 10 0 0 1 14.995 -8.336m-1.8 10.946a1 1 0 0 0 -1.414 .014a2.5 2.5 0 0 1 -3.572 0a1 1 0 0 0 -1.428 1.4a4.5 4.5 0 0 0 6.428 0a1 1 0 0 0 -.014 -1.414m-7.493 -6.493a1 1 0 0 0 -1.414 1.414l.792 .793l-.792 .793a1 1 0 0 0 1.414 1.414l.793 -.792l.793 .792a1 1 0 1 0 1.414 -1.414l-.792 -.793l.792 -.793a1 1 0 1 0 -1.414 -1.414l-.793 .792zm7 0a1 1 0 0 0 -1.414 1.414l.792 .793l-.792 .793a1 1 0 0 0 1.414 1.414l.793 -.792l.793 .792a1 1 0 0 0 1.414 -1.414l-.792 -.793l.792 -.793a1 1 0 1 0 -1.414 -1.414l-.793 .792z" /> +</symbol> + <symbol id="filled-mood-wrrr" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M12 2c5.523 0 10 4.477 10 10s-4.477 10 -10 10a10 10 0 1 1 0 -20m3.707 12.293a1 1 0 0 0 -1.262 -.125l-.945 .63l-.945 -.63l-.116 -.066a1 1 0 0 0 -.994 .066l-.945 .63l-.945 -.63a1 1 0 0 0 -1.262 .125l-1 1a1 1 0 0 0 0 1.414l.094 .083a1 1 0 0 0 1.32 -.083l.42 -.42l.818 .545l.116 .066a1 1 0 0 0 .994 -.066l.945 -.63l.945 .63l.116 .066a1 1 0 0 0 .994 -.066l.817 -.545l.42 .42a1 1 0 0 0 1.415 -1.414zm-6.5 -6.5a1 1 0 0 0 -1.414 0l-.083 .094a1 1 0 0 0 .083 1.32l.792 .793l-.792 .793a1 1 0 0 0 1.414 1.414l1.5 -1.5a1 1 0 0 0 0 -1.414zm7 0a1 1 0 0 0 -1.414 0l-1.5 1.5a1 1 0 0 0 0 1.414l1.5 1.5a1 1 0 0 0 1.414 0l.083 -.094a1 1 0 0 0 -.083 -1.32l-.792 -.793l.792 -.793a1 1 0 0 0 0 -1.414" /> +</symbol> + <symbol id="filled-pill" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M20.207 3.793a5.95 5.95 0 0 1 0 8.414l-8 8a5.95 5.95 0 0 1 -8.414 -8.414l8 -8a5.95 5.95 0 0 1 8.414 0m-7 1.414l-4.294 4.293l5.586 5.586l4.294 -4.292a3.95 3.95 0 1 0 -5.586 -5.586" /> +</symbol> + <symbol id="filled-receipt" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M17 2a3 3 0 0 1 3 3v16a1 1 0 0 1 -1.555 .832l-2.318 -1.545l-1.42 1.42a1 1 0 0 1 -1.32 .083l-.094 -.083l-1.293 -1.292l-1.293 1.292a1 1 0 0 1 -1.32 .083l-.094 -.083l-1.421 -1.42l-2.317 1.545l-.019 .012l-.054 .03l-.028 .017l-.054 .023l-.05 .023l-.049 .015l-.06 .019l-.052 .009l-.057 .011l-.084 .006l-.026 .003h-.022l-.049 -.003h-.039l-.013 -.003h-.016l-.041 -.008l-.038 -.005l-.015 -.005l-.018 -.002l-.034 -.011l-.04 -.01l-.019 -.007l-.015 -.004l-.029 -.013l-.04 -.015l-.021 -.011l-.013 -.005l-.028 -.016l-.036 -.018l-.014 -.01l-.018 -.01l-.038 -.027l-.022 -.014l-.01 -.009l-.02 -.014l-.045 -.041l-.012 -.008l-.024 -.024l-.035 -.039l-.02 -.02l-.007 -.011l-.011 -.012l-.032 -.045l-.02 -.025l-.012 -.019l-.03 -.054l-.017 -.028l-.023 -.054l-.023 -.05a1 1 0 0 1 -.034 -.108l-.01 -.057l-.01 -.053l-.009 -.132v-16a3 3 0 0 1 3 -3zm-2 12h-2a1 1 0 0 0 0 2h2a1 1 0 0 0 0 -2m0 -4h-6a1 1 0 0 0 0 2h6a1 1 0 0 0 0 -2m0 -4h-6a1 1 0 1 0 0 2h6a1 1 0 0 0 0 -2" /> +</symbol> + <symbol id="filled-rosette-discount" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M12.01 2.011c.852 0 1.668 .34 2.267 .942l.698 .698a1.2 1.2 0 0 0 .845 .349h1a3.2 3.2 0 0 1 3.2 3.2v1c0 .316 .126 .62 .347 .843l.698 .698a3.2 3.2 0 0 1 .002 4.536l-.698 .698a1.2 1.2 0 0 0 -.349 .845v1a3.2 3.2 0 0 1 -3.2 3.2h-1a1.2 1.2 0 0 0 -.843 .347l-.698 .698a3.2 3.2 0 0 1 -4.536 .002l-.698 -.698a1.2 1.2 0 0 0 -.845 -.349h-1a3.2 3.2 0 0 1 -3.2 -3.2v-1a1.2 1.2 0 0 0 -.347 -.843l-.698 -.698a3.2 3.2 0 0 1 -.002 -4.536l.698 -.698a1.2 1.2 0 0 0 .349 -.845v-1l.005 -.182a3.2 3.2 0 0 1 3.195 -3.018h1a1.2 1.2 0 0 0 .843 -.347l.698 -.698a3.2 3.2 0 0 1 2.269 -.944m2.49 10.989a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3m1.207 -4.707a1 1 0 0 0 -1.414 0l-6 6a1 1 0 0 0 1.414 1.414l6 -6a1 1 0 0 0 0 -1.414m-6.207 -.293a1.5 1.5 0 1 0 0 3a1.5 1.5 0 0 0 0 -3" /> +</symbol> + <symbol id="filled-scuba-diving-tank" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M17 17v2a3 3 0 0 1 -3 3h-4a3 3 0 0 1 -3 -3v-2z" /> <path d="M8 2a2 2 0 0 1 1.732 1h1.15a1.496 1.496 0 0 1 2.236 0h1.882a1 1 0 0 1 0 2l-1.883 .001a2 2 0 0 1 -.115 .116v.983a5 5 0 0 1 3.998 4.9v4h-10v-4a5 5 0 0 1 4 -4.9v-.983a2 2 0 0 1 -.117 -.116h-1.151a2 2 0 1 1 -1.732 -3.001" /> +</symbol> + <symbol id="filled-steering-wheel" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M17 3.34a10 10 0 1 1 -15 8.66l.005 -.324a10 10 0 0 1 14.995 -8.336m-13 8.66a8 8 0 0 0 7 7.937v-5.107a3 3 0 0 1 -1.898 -2.05l-5.07 -1.504q -.031 .36 -.032 .725m15.967 -.725l-5.069 1.503a3 3 0 0 1 -1.897 2.051v5.108a8 8 0 0 0 6.985 -8.422zm-11.967 -6.204a8 8 0 0 0 -3.536 4.244l4.812 1.426a3 3 0 0 1 5.448 0l4.812 -1.426a8 8 0 0 0 -11.536 -4.244" /> +</symbol> + <symbol id="filled-tag" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M11.172 2a3 3 0 0 1 2.121 .879l7.71 7.71a3.41 3.41 0 0 1 0 4.822l-5.592 5.592a3.41 3.41 0 0 1 -4.822 0l-7.71 -7.71a3 3 0 0 1 -.879 -2.121v-5.172a4 4 0 0 1 4 -4zm-3.672 3.5a2 2 0 0 0 -1.995 1.85l-.005 .15a2 2 0 1 0 2 -2" /> +</symbol> + <symbol id="filled-tags" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="currentColor" +> <path d="M9.172 5a3 3 0 0 1 2.121 .879l5.71 5.71a3.41 3.41 0 0 1 0 4.822l-3.592 3.592a3.41 3.41 0 0 1 -4.822 0l-5.71 -5.71a3 3 0 0 1 -.879 -2.121v-4.172a3 3 0 0 1 3 -3zm-2.172 4h-.01a1 1 0 1 0 .01 2a1 1 0 0 0 0 -2" /> <path d="M14.293 5.293a1 1 0 0 1 1.414 0l4.593 4.592a5.82 5.82 0 0 1 0 8.23l-1.592 1.592a1 1 0 0 1 -1.414 -1.414l1.592 -1.592a3.82 3.82 0 0 0 0 -5.402l-4.592 -4.592a1 1 0 0 1 0 -1.414" /> +</symbol> + + <use xlink:href="#outline-align-left-2" x="24" y="24" width="24" height="24" /> + <use xlink:href="#outline-align-right-2" x="68" y="24" width="24" height="24" /> + <use xlink:href="#outline-binoculars" x="112" y="24" width="24" height="24" /> + <use xlink:href="#outline-building-off" x="156" y="24" width="24" height="24" /> + <use xlink:href="#outline-cliff-jumping" x="200" y="24" width="24" height="24" /> + <use xlink:href="#outline-contract" x="244" y="24" width="24" height="24" /> + <use xlink:href="#outline-scuba-diving-tank" x="24" y="68" width="24" height="24" /> + <use xlink:href="#filled-binoculars" x="68" y="68" width="24" height="24" /> + <use xlink:href="#filled-mood-angry" x="112" y="68" width="24" height="24" /> + <use xlink:href="#filled-mood-crazy-happy" x="156" y="68" width="24" height="24" /> + <use xlink:href="#filled-mood-wrrr" x="200" y="68" width="24" height="24" /> + <use xlink:href="#filled-pill" x="244" y="68" width="24" height="24" /> + <use xlink:href="#filled-receipt" x="24" y="112" width="24" height="24" /> + <use xlink:href="#filled-rosette-discount" x="68" y="112" width="24" height="24" /> + <use xlink:href="#filled-scuba-diving-tank" x="112" y="112" width="24" height="24" /> + <use xlink:href="#filled-steering-wheel" x="156" y="112" width="24" height="24" /> + <use xlink:href="#filled-tag" x="200" y="112" width="24" height="24" /> + <use xlink:href="#filled-tags" x="244" y="112" width="24" height="24" /> + +</svg> \ No newline at end of file diff --git a/.github/tabler-icons-3.6.0@2x.png b/.github/tabler-icons-3.6.0@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..dd07159cb68f1e2062f9ba96046a890b587e38a4 GIT binary patch literal 37991 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 C?;5oL literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 9813cfb814..fb981736dc 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ </p> <p align="center"> - A set of <!--icons-count-->5289<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. + A set of <!--icons-count-->5307<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. <p> <p align="center"> @@ -23,7 +23,7 @@ ## Preview -### Outline version (<!--icons-count-outline-->4614<!--/icons-count-outline--> icons) +### Outline version (<!--icons-count-outline-->4621<!--/icons-count-outline--> icons) <p align="center"> <picture> @@ -33,7 +33,7 @@ </picture> </p> -### Filled version (<!--icons-count-filled-->675<!--/icons-count-filled--> icons) +### Filled version (<!--icons-count-filled-->686<!--/icons-count-filled--> icons) <p align="center"> <picture> diff --git a/icons/filled/binoculars.svg b/icons/filled/binoculars.svg index b88bd5437c..ba2fcf124a 100644 --- a/icons/filled/binoculars.svg +++ b/icons/filled/binoculars.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff0b" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/mood-angry.svg b/icons/filled/mood-angry.svg index 7648f4de12..396ae27193 100644 --- a/icons/filled/mood-angry.svg +++ b/icons/filled/mood-angry.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff0a" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/mood-crazy-happy.svg b/icons/filled/mood-crazy-happy.svg index 93fe3dbccc..d40121cf4f 100644 --- a/icons/filled/mood-crazy-happy.svg +++ b/icons/filled/mood-crazy-happy.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff09" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/mood-wrrr.svg b/icons/filled/mood-wrrr.svg index 17430d7713..6851ff0063 100644 --- a/icons/filled/mood-wrrr.svg +++ b/icons/filled/mood-wrrr.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff08" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/pill.svg b/icons/filled/pill.svg index d39aeb76d9..7c29a728d1 100644 --- a/icons/filled/pill.svg +++ b/icons/filled/pill.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff07" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/receipt.svg b/icons/filled/receipt.svg index e00e096971..c18ade456c 100644 --- a/icons/filled/receipt.svg +++ b/icons/filled/receipt.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff06" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/rosette-discount.svg b/icons/filled/rosette-discount.svg index 3c23378242..2c74c1603f 100644 --- a/icons/filled/rosette-discount.svg +++ b/icons/filled/rosette-discount.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff05" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/scuba-diving-tank.svg b/icons/filled/scuba-diving-tank.svg index ae0659475f..68eca39946 100644 --- a/icons/filled/scuba-diving-tank.svg +++ b/icons/filled/scuba-diving-tank.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff04" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/steering-wheel.svg b/icons/filled/steering-wheel.svg index e7256db345..73b4a4ebf6 100644 --- a/icons/filled/steering-wheel.svg +++ b/icons/filled/steering-wheel.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff03" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/tag.svg b/icons/filled/tag.svg index e68384dcfa..eab2aa72c7 100644 --- a/icons/filled/tag.svg +++ b/icons/filled/tag.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff02" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/filled/tags.svg b/icons/filled/tags.svg index 3aba3c6136..65b2ca1f45 100644 --- a/icons/filled/tags.svg +++ b/icons/filled/tags.svg @@ -1,4 +1,6 @@ <!-- +unicode: "ff01" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/outline/align-left-2.svg b/icons/outline/align-left-2.svg index 5bbec042a4..ec55ad3d75 100644 --- a/icons/outline/align-left-2.svg +++ b/icons/outline/align-left-2.svg @@ -1,6 +1,8 @@ <!-- tags: [text, alignment, position] category: Text +unicode: "ff00" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/outline/align-right-2.svg b/icons/outline/align-right-2.svg index c57d3930f0..7235ef294f 100644 --- a/icons/outline/align-right-2.svg +++ b/icons/outline/align-right-2.svg @@ -1,6 +1,8 @@ <!-- tags: [text, alignment, position] category: Text +unicode: "feff" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/outline/binoculars.svg b/icons/outline/binoculars.svg index d4efae29c6..fdb14ed925 100644 --- a/icons/outline/binoculars.svg +++ b/icons/outline/binoculars.svg @@ -1,5 +1,7 @@ <!-- tags: [birds, explorer, field glasses, magnifying eye glasses, observe, view, watch] +unicode: "fefe" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/outline/building-off.svg b/icons/outline/building-off.svg index 78181924b0..1739a83d72 100644 --- a/icons/outline/building-off.svg +++ b/icons/outline/building-off.svg @@ -1,6 +1,8 @@ <!-- tags: [flat, office, city, urban, scyscraper, architecture, construction] category: Buildings +unicode: "fefd" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/outline/cliff-jumping.svg b/icons/outline/cliff-jumping.svg index 70f2249c56..d7fd7da6c0 100644 --- a/icons/outline/cliff-jumping.svg +++ b/icons/outline/cliff-jumping.svg @@ -1,6 +1,8 @@ <!-- tags: [rock, fall, movement, motion, trampoline, height] category: Sport +unicode: "fefc" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/outline/contract.svg b/icons/outline/contract.svg index d2ae8601fc..0b3dc8369e 100644 --- a/icons/outline/contract.svg +++ b/icons/outline/contract.svg @@ -1,4 +1,6 @@ <!-- +unicode: "fefb" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/icons/outline/scuba-diving-tank.svg b/icons/outline/scuba-diving-tank.svg index 8f34564085..57a35304cf 100644 --- a/icons/outline/scuba-diving-tank.svg +++ b/icons/outline/scuba-diving-tank.svg @@ -1,6 +1,8 @@ <!-- tags: [dive, diving, water, open water, underwater, pressure, compressed air, air] category: Sport +unicode: "fefa" +version: "3.6" --> <svg xmlns="http://www.w3.org/2000/svg" diff --git a/package.json b/package.json index 456ef1056a..781b05e26e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "tabler-icons", - "version": "3.5.0", + "version": "3.6.0", "repository": { "type": "git", "url": "git+https://github.com/tabler/tabler-icons.git" @@ -13,7 +13,7 @@ "scripts": { "dev": "eleventy --serve --watch", "preview": "eleventy", - "build": "pnpm run update && pnpm run validate --hard && pnpm run optimize && pnpm run build:packages && pnpm run preview && pnpm run changelog-image && pnpm run zip && pnpm run update-readme", + "build": "pnpm run validate && pnpm run update && pnpm run validate --hard && pnpm run optimize && pnpm run build:packages && pnpm run preview && pnpm run changelog-image && pnpm run zip && pnpm run update-readme", "clean": "turbo run clean", "test": "turbo run test", "changelog": "node ./.build/changelog.mjs", diff --git a/packages/icons-eps/README.md b/packages/icons-eps/README.md index 2a06860fa1..5f37c6efec 100644 --- a/packages/icons-eps/README.md +++ b/packages/icons-eps/README.md @@ -5,7 +5,7 @@ </p> <p align="center"> - A set of <!--icons-count-->5289<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. + A set of <!--icons-count-->5307<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. <p> <p align="center"> diff --git a/packages/icons-eps/package.json b/packages/icons-eps/package.json index 27b1e985bd..17c70b491e 100644 --- a/packages/icons-eps/package.json +++ b/packages/icons-eps/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-eps", - "version": "3.5.0", + "version": "3.6.0", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", "homepage": "https://tabler-icons.io", "bugs": { @@ -25,7 +25,7 @@ ] }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "keywords": [ "icons", diff --git a/packages/icons-pdf/README.md b/packages/icons-pdf/README.md index f1a26009cd..6964e5afa2 100644 --- a/packages/icons-pdf/README.md +++ b/packages/icons-pdf/README.md @@ -5,7 +5,7 @@ </p> <p align="center"> - A set of <!--icons-count-->5289<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. + A set of <!--icons-count-->5307<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. <p> <p align="center"> diff --git a/packages/icons-pdf/package.json b/packages/icons-pdf/package.json index dfa1e0b562..a37ab1878c 100644 --- a/packages/icons-pdf/package.json +++ b/packages/icons-pdf/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-pdf", - "version": "3.5.0", + "version": "3.6.0", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", "homepage": "https://tabler-icons.io", "bugs": { @@ -30,7 +30,7 @@ ] }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "keywords": [ "icons", diff --git a/packages/icons-png/README.md b/packages/icons-png/README.md index 243b690086..f88c863f2d 100644 --- a/packages/icons-png/README.md +++ b/packages/icons-png/README.md @@ -5,7 +5,7 @@ </p> <p align="center"> - A set of <!--icons-count-->5289<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. + A set of <!--icons-count-->5307<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. <p> <p align="center"> diff --git a/packages/icons-png/package.json b/packages/icons-png/package.json index e716855b94..7592697773 100644 --- a/packages/icons-png/package.json +++ b/packages/icons-png/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-png", - "version": "3.5.0", + "version": "3.6.0", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", "homepage": "https://tabler-icons.io", "bugs": { @@ -30,7 +30,7 @@ ] }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "keywords": [ "icons", diff --git a/packages/icons-preact/package.json b/packages/icons-preact/package.json index 181463b114..a25439e638 100644 --- a/packages/icons-preact/package.json +++ b/packages/icons-preact/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-preact", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "author": "codecalm", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", @@ -35,7 +35,7 @@ "imports-check": "attw $(npm pack)" }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "peerDependencies": { "preact": "^10.5.13" diff --git a/packages/icons-react-native/package.json b/packages/icons-react-native/package.json index 08d8ee6e51..27eacc9e86 100644 --- a/packages/icons-react-native/package.json +++ b/packages/icons-react-native/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-react-native", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "author": "codecalm", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", @@ -48,7 +48,7 @@ "imports-check": "attw $(npm pack)" }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "devDependencies": { "@testing-library/react": "^14.2.1", diff --git a/packages/icons-react/package.json b/packages/icons-react/package.json index efaeac0b89..bd75146204 100644 --- a/packages/icons-react/package.json +++ b/packages/icons-react/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-react", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "author": "codecalm", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", @@ -35,7 +35,7 @@ "imports-check": "attw $(npm pack)" }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "devDependencies": { "@testing-library/react": "^14.2.1", diff --git a/packages/icons-solidjs/package.json b/packages/icons-solidjs/package.json index 2d918fa08e..511b4e2772 100644 --- a/packages/icons-solidjs/package.json +++ b/packages/icons-solidjs/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-solidjs", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "author": "codecalm", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", @@ -34,7 +34,7 @@ "imports-check": "attw $(npm pack)" }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "devDependencies": { "@solidjs/testing-library": "^0.8.6", diff --git a/packages/icons-sprite/README.md b/packages/icons-sprite/README.md index 55742cbf03..24e6d49ac9 100644 --- a/packages/icons-sprite/README.md +++ b/packages/icons-sprite/README.md @@ -5,7 +5,7 @@ </p> <p align="center"> - A set of <!--icons-count-->5289<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. + A set of <!--icons-count-->5307<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. <p> <p align="center"> diff --git a/packages/icons-sprite/package.json b/packages/icons-sprite/package.json index 9f9758a9da..4c9556b1a0 100644 --- a/packages/icons-sprite/package.json +++ b/packages/icons-sprite/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-sprite", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "author": "codecalm", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", @@ -28,7 +28,7 @@ "clean": "rm -rf dist/*" }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "keywords": [ "icons", diff --git a/packages/icons-svelte/package.json b/packages/icons-svelte/package.json index 4627e457b8..7e07c36291 100644 --- a/packages/icons-svelte/package.json +++ b/packages/icons-svelte/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-svelte", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "author": "codecalm", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", @@ -389,10 +389,18 @@ "types": "./dist/icons/align-justified.svelte.d.ts", "svelte": "./dist/icons/align-justified.svelte" }, + "./IconAlignLeft2.svelte": { + "types": "./dist/icons/align-left-2.svelte.d.ts", + "svelte": "./dist/icons/align-left-2.svelte" + }, "./IconAlignLeft.svelte": { "types": "./dist/icons/align-left.svelte.d.ts", "svelte": "./dist/icons/align-left.svelte" }, + "./IconAlignRight2.svelte": { + "types": "./dist/icons/align-right-2.svelte.d.ts", + "svelte": "./dist/icons/align-right-2.svelte" + }, "./IconAlignRight.svelte": { "types": "./dist/icons/align-right.svelte.d.ts", "svelte": "./dist/icons/align-right.svelte" @@ -1869,6 +1877,10 @@ "types": "./dist/icons/binary.svelte.d.ts", "svelte": "./dist/icons/binary.svelte" }, + "./IconBinoculars.svelte": { + "types": "./dist/icons/binoculars.svelte.d.ts", + "svelte": "./dist/icons/binoculars.svelte" + }, "./IconBiohazardOff.svelte": { "types": "./dist/icons/biohazard-off.svelte.d.ts", "svelte": "./dist/icons/biohazard-off.svelte" @@ -3949,6 +3961,10 @@ "types": "./dist/icons/building-mosque.svelte.d.ts", "svelte": "./dist/icons/building-mosque.svelte" }, + "./IconBuildingOff.svelte": { + "types": "./dist/icons/building-off.svelte.d.ts", + "svelte": "./dist/icons/building-off.svelte" + }, "./IconBuildingPavilion.svelte": { "types": "./dist/icons/building-pavilion.svelte.d.ts", "svelte": "./dist/icons/building-pavilion.svelte" @@ -5305,6 +5321,10 @@ "types": "./dist/icons/click.svelte.d.ts", "svelte": "./dist/icons/click.svelte" }, + "./IconCliffJumping.svelte": { + "types": "./dist/icons/cliff-jumping.svelte.d.ts", + "svelte": "./dist/icons/cliff-jumping.svelte" + }, "./IconClipboardCheck.svelte": { "types": "./dist/icons/clipboard-check.svelte.d.ts", "svelte": "./dist/icons/clipboard-check.svelte" @@ -5869,6 +5889,10 @@ "types": "./dist/icons/container.svelte.d.ts", "svelte": "./dist/icons/container.svelte" }, + "./IconContract.svelte": { + "types": "./dist/icons/contract.svelte.d.ts", + "svelte": "./dist/icons/contract.svelte" + }, "./IconContrast2Off.svelte": { "types": "./dist/icons/contrast-2-off.svelte.d.ts", "svelte": "./dist/icons/contrast-2-off.svelte" @@ -15049,6 +15073,10 @@ "types": "./dist/icons/script.svelte.d.ts", "svelte": "./dist/icons/script.svelte" }, + "./IconScubaDivingTank.svelte": { + "types": "./dist/icons/scuba-diving-tank.svelte.d.ts", + "svelte": "./dist/icons/scuba-diving-tank.svelte" + }, "./IconScubaDiving.svelte": { "types": "./dist/icons/scuba-diving.svelte.d.ts", "svelte": "./dist/icons/scuba-diving.svelte" @@ -18865,6 +18893,10 @@ "types": "./dist/icons/bell-filled.svelte.d.ts", "svelte": "./dist/icons/bell-filled.svelte" }, + "./IconBinocularsFilled.svelte": { + "types": "./dist/icons/binoculars-filled.svelte.d.ts", + "svelte": "./dist/icons/binoculars-filled.svelte" + }, "./IconBiohazardFilled.svelte": { "types": "./dist/icons/biohazard-filled.svelte.d.ts", "svelte": "./dist/icons/biohazard-filled.svelte" @@ -20249,10 +20281,18 @@ "types": "./dist/icons/microwave-filled.svelte.d.ts", "svelte": "./dist/icons/microwave-filled.svelte" }, + "./IconMoodAngryFilled.svelte": { + "types": "./dist/icons/mood-angry-filled.svelte.d.ts", + "svelte": "./dist/icons/mood-angry-filled.svelte" + }, "./IconMoodConfuzedFilled.svelte": { "types": "./dist/icons/mood-confuzed-filled.svelte.d.ts", "svelte": "./dist/icons/mood-confuzed-filled.svelte" }, + "./IconMoodCrazyHappyFilled.svelte": { + "types": "./dist/icons/mood-crazy-happy-filled.svelte.d.ts", + "svelte": "./dist/icons/mood-crazy-happy-filled.svelte" + }, "./IconMoodEmptyFilled.svelte": { "types": "./dist/icons/mood-empty-filled.svelte.d.ts", "svelte": "./dist/icons/mood-empty-filled.svelte" @@ -20277,6 +20317,10 @@ "types": "./dist/icons/mood-smile-filled.svelte.d.ts", "svelte": "./dist/icons/mood-smile-filled.svelte" }, + "./IconMoodWrrrFilled.svelte": { + "types": "./dist/icons/mood-wrrr-filled.svelte.d.ts", + "svelte": "./dist/icons/mood-wrrr-filled.svelte" + }, "./IconMoonFilled.svelte": { "types": "./dist/icons/moon-filled.svelte.d.ts", "svelte": "./dist/icons/moon-filled.svelte" @@ -20353,6 +20397,10 @@ "types": "./dist/icons/picture-in-picture-filled.svelte.d.ts", "svelte": "./dist/icons/picture-in-picture-filled.svelte" }, + "./IconPillFilled.svelte": { + "types": "./dist/icons/pill-filled.svelte.d.ts", + "svelte": "./dist/icons/pill-filled.svelte" + }, "./IconPinFilled.svelte": { "types": "./dist/icons/pin-filled.svelte.d.ts", "svelte": "./dist/icons/pin-filled.svelte" @@ -20425,6 +20473,10 @@ "types": "./dist/icons/radioactive-filled.svelte.d.ts", "svelte": "./dist/icons/radioactive-filled.svelte" }, + "./IconReceiptFilled.svelte": { + "types": "./dist/icons/receipt-filled.svelte.d.ts", + "svelte": "./dist/icons/receipt-filled.svelte" + }, "./IconRectangleVerticalFilled.svelte": { "types": "./dist/icons/rectangle-vertical-filled.svelte.d.ts", "svelte": "./dist/icons/rectangle-vertical-filled.svelte" @@ -20453,10 +20505,18 @@ "types": "./dist/icons/rosette-discount-check-filled.svelte.d.ts", "svelte": "./dist/icons/rosette-discount-check-filled.svelte" }, + "./IconRosetteDiscountFilled.svelte": { + "types": "./dist/icons/rosette-discount-filled.svelte.d.ts", + "svelte": "./dist/icons/rosette-discount-filled.svelte" + }, "./IconRosetteFilled.svelte": { "types": "./dist/icons/rosette-filled.svelte.d.ts", "svelte": "./dist/icons/rosette-filled.svelte" }, + "./IconScubaDivingTankFilled.svelte": { + "types": "./dist/icons/scuba-diving-tank-filled.svelte.d.ts", + "svelte": "./dist/icons/scuba-diving-tank-filled.svelte" + }, "./IconSectionFilled.svelte": { "types": "./dist/icons/section-filled.svelte.d.ts", "svelte": "./dist/icons/section-filled.svelte" @@ -21009,6 +21069,10 @@ "types": "./dist/icons/stars-filled.svelte.d.ts", "svelte": "./dist/icons/stars-filled.svelte" }, + "./IconSteeringWheelFilled.svelte": { + "types": "./dist/icons/steering-wheel-filled.svelte.d.ts", + "svelte": "./dist/icons/steering-wheel-filled.svelte" + }, "./IconSunFilled.svelte": { "types": "./dist/icons/sun-filled.svelte.d.ts", "svelte": "./dist/icons/sun-filled.svelte" @@ -21021,6 +21085,14 @@ "types": "./dist/icons/table-filled.svelte.d.ts", "svelte": "./dist/icons/table-filled.svelte" }, + "./IconTagFilled.svelte": { + "types": "./dist/icons/tag-filled.svelte.d.ts", + "svelte": "./dist/icons/tag-filled.svelte" + }, + "./IconTagsFilled.svelte": { + "types": "./dist/icons/tags-filled.svelte.d.ts", + "svelte": "./dist/icons/tags-filled.svelte" + }, "./IconThumbDownFilled.svelte": { "types": "./dist/icons/thumb-down-filled.svelte.d.ts", "svelte": "./dist/icons/thumb-down-filled.svelte" @@ -21200,7 +21272,7 @@ "imports-check": "attw $(npm pack)" }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "devDependencies": { "@sveltejs/package": "^2.2.7", diff --git a/packages/icons-vue/package.json b/packages/icons-vue/package.json index 8b3c5de06f..713a6233eb 100644 --- a/packages/icons-vue/package.json +++ b/packages/icons-vue/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-vue", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "author": "codecalm", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", @@ -33,7 +33,7 @@ "imports-check": "attw $(npm pack)" }, "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "peerDependencies": { "vue": ">=3.0.1" diff --git a/packages/icons-webfont/package.json b/packages/icons-webfont/package.json index 3b40d6868b..0d7837d33f 100644 --- a/packages/icons-webfont/package.json +++ b/packages/icons-webfont/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons-webfont", - "version": "3.5.0", + "version": "3.6.0", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", "homepage": "https://tabler-icons.io", "bugs": { @@ -34,7 +34,7 @@ "sass": "./tabler-icons.scss", "style": "./tabler-icons.min.css", "dependencies": { - "@tabler/icons": "3.5.0" + "@tabler/icons": "3.6.0" }, "keywords": [ "icons", diff --git a/packages/icons/README.md b/packages/icons/README.md index f15c156fc5..669b21be8b 100644 --- a/packages/icons/README.md +++ b/packages/icons/README.md @@ -5,7 +5,7 @@ </p> <p align="center"> - A set of <!--icons-count-->5289<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. + A set of <!--icons-count-->5307<!--/icons-count--> free MIT-licensed high-quality SVG icons for you to use in your web projects. Each icon is designed on a 24x24 grid and a 2px stroke. <p> <p align="center"> diff --git a/packages/icons/package.json b/packages/icons/package.json index 59db48f92e..8ce9927772 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -1,6 +1,6 @@ { "name": "@tabler/icons", - "version": "3.5.0", + "version": "3.6.0", "license": "MIT", "author": "codecalm", "description": "A set of free MIT-licensed high-quality SVG icons for you to use in your web projects.", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 951bc20e64..d901edce64 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -123,25 +123,25 @@ importers: packages/icons-eps: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons packages/icons-pdf: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons packages/icons-png: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons packages/icons-preact: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons devDependencies: '@preact/preset-vite': @@ -157,7 +157,7 @@ importers: packages/icons-react: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons devDependencies: '@testing-library/react': @@ -182,7 +182,7 @@ importers: packages/icons-react-native: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons devDependencies: '@testing-library/react': @@ -213,7 +213,7 @@ importers: packages/icons-solidjs: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons devDependencies: '@solidjs/testing-library': @@ -232,13 +232,13 @@ importers: packages/icons-sprite: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons packages/icons-svelte: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons devDependencies: '@sveltejs/package': @@ -266,7 +266,7 @@ importers: packages/icons-vue: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons devDependencies: '@testing-library/vue': @@ -288,7 +288,7 @@ importers: packages/icons-webfont: dependencies: '@tabler/icons': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../icons devDependencies: sass: @@ -301,7 +301,7 @@ importers: test/test-preact: dependencies: '@tabler/icons-preact': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../../packages/icons-preact preact: specifier: ^10.19.6 @@ -314,7 +314,7 @@ importers: test/test-react: dependencies: '@tabler/icons-react': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../../packages/icons-react react: specifier: ^18.2.0 @@ -336,7 +336,7 @@ importers: test/test-svelte: dependencies: '@tabler/icons-svelte': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../../packages/icons-svelte devDependencies: '@sveltejs/vite-plugin-svelte': @@ -358,7 +358,7 @@ importers: test/test-vue: dependencies: '@tabler/icons-vue': - specifier: 3.5.0 + specifier: 3.6.0 version: link:../../packages/icons-vue vue: specifier: ^3.4.20 diff --git a/test/test-preact/package.json b/test/test-preact/package.json index 91360120dd..7e83964911 100644 --- a/test/test-preact/package.json +++ b/test/test-preact/package.json @@ -1,7 +1,7 @@ { "name": "test-preact", "private": true, - "version": "3.5.0", + "version": "3.6.0", "type": "module", "scripts": { "dev": "vite", @@ -10,7 +10,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@tabler/icons-preact": "3.5.0", + "@tabler/icons-preact": "3.6.0", "preact": "^10.19.6" }, "devDependencies": { diff --git a/test/test-react/package.json b/test/test-react/package.json index e12443b255..42b4b7e94c 100644 --- a/test/test-react/package.json +++ b/test/test-react/package.json @@ -1,7 +1,7 @@ { "name": "test-react", "private": true, - "version": "3.5.0", + "version": "3.6.0", "type": "module", "scripts": { "dev": "vite", @@ -10,7 +10,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@tabler/icons-react": "3.5.0", + "@tabler/icons-react": "3.6.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/test/test-svelte/package.json b/test/test-svelte/package.json index 902252afb2..4bea3f01e2 100644 --- a/test/test-svelte/package.json +++ b/test/test-svelte/package.json @@ -1,7 +1,7 @@ { "name": "test-svelte", "private": true, - "version": "3.5.0", + "version": "3.6.0", "type": "module", "scripts": { "dev": "vite", @@ -11,7 +11,7 @@ "clean": "rm -rf dist" }, "dependencies": { - "@tabler/icons-svelte": "3.5.0" + "@tabler/icons-svelte": "3.6.0" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.0.2", diff --git a/test/test-vue/package.json b/test/test-vue/package.json index c14680a08a..8b27565117 100644 --- a/test/test-vue/package.json +++ b/test/test-vue/package.json @@ -1,7 +1,7 @@ { "name": "test-vue", "private": true, - "version": "3.5.0", + "version": "3.6.0", "type": "module", "scripts": { "dev": "vite", @@ -11,7 +11,7 @@ }, "dependencies": { "vue": "^3.4.20", - "@tabler/icons-vue": "3.5.0" + "@tabler/icons-vue": "3.6.0" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", From 311e4c1fc50cb3aedb0332325c2eb1ce376bab53 Mon Sep 17 00:00:00 2001 From: Keno Medenbach <47672946+C0Nd3Mnd@users.noreply.github.com> Date: Fri, 14 Jun 2024 17:30:21 +0200 Subject: [PATCH 20/21] @tabler/icons-vue: Fall back to default if stroke is undefined (#1129) Fixes #1067 Co-authored-by: Keno Medenbach <k.medenbach@eplas.net> --- packages/icons-vue/src/createVueComponent.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/icons-vue/src/createVueComponent.ts b/packages/icons-vue/src/createVueComponent.ts index 9096ebaff8..0626058ba4 100644 --- a/packages/icons-vue/src/createVueComponent.ts +++ b/packages/icons-vue/src/createVueComponent.ts @@ -25,7 +25,7 @@ const createVueComponent = fill: color, } : { - 'stroke-width': stroke, + 'stroke-width': stroke ?? defaultAttributes[type]['stroke-width'], stroke: color, }), ...rest, From ba4672d50918db4c5f8d952c49fa80147937d7da Mon Sep 17 00:00:00 2001 From: Peter C <63091190+petoc@users.noreply.github.com> Date: Fri, 14 Jun 2024 17:30:39 +0200 Subject: [PATCH 21/21] Fix `battery-automotive` icon (#1159) --- icons/outline/battery-automotive.svg | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/icons/outline/battery-automotive.svg b/icons/outline/battery-automotive.svg index 4085b59305..e1cc932b87 100644 --- a/icons/outline/battery-automotive.svg +++ b/icons/outline/battery-automotive.svg @@ -15,9 +15,9 @@ unicode: "ee07" stroke-linecap="round" stroke-linejoin="round" > - <path d="M3 7a2 2 0 0 1 2 -2h14a2 2 0 0 1 2 2v10a2 2 0 0 1 -2 2h-14a2 2 0 0 1 -2 -2z" /> - <path d="M6 5v-2" /> - <path d="M19 3v2" /> + <path d="M3 7a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z" /> + <path d="M6 5V3" /> + <path d="M18 3v2" /> <path d="M6.5 12h3" /> <path d="M14.5 12h3" /> <path d="M16 10.5v3" />