Skip to content

Commit 207e795

Browse files
committed
wip
1 parent 05de14e commit 207e795

22 files changed

+477
-215
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
!.yarn/versions
1212

1313
package-lock.json
14+
yarn.lock
1415

1516
# testing
1617
/coverage

icons/clipboard-check.tsx

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
'use client';
2+
23
import { motion, useAnimation } from 'motion/react';
34
import type { Variants } from 'motion/react';
45

@@ -31,8 +32,8 @@ const ClipboardCheckIcon = () => {
3132
>
3233
<svg
3334
xmlns="http://www.w3.org/2000/svg"
34-
width="24"
35-
height="24"
35+
width="28"
36+
height="28"
3637
viewBox="0 0 24 24"
3738
fill="none"
3839
stroke="currentColor"

icons/index.ts

+3-3
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ import { ArrowDownZAIcon } from '@/icons/arrow-down-z-a';
145145
import { ArrowDownAZIcon } from '@/icons/arrow-down-a-z';
146146
import { ArrowDown01con } from '@/icons/arrow-down-0-1';
147147
import { ArrowDown10con } from '@/icons/arrow-down-1-0';
148-
import {ClipboardCheckIcon} from '@/icons/clipboard-check';
148+
import { ClipboardCheckIcon } from '@/icons/clipboard-check';
149149
import { FacebookIcon } from '@/icons/facebook';
150150
import { LinkedinIcon } from '@/icons/linkedin';
151151
import { YoutubeIcon } from '@/icons/youtube';
@@ -386,9 +386,9 @@ const ICON_LIST: IconListItem[] = [
386386
],
387387
},
388388
{
389-
name: "clipboard-check",
389+
name: 'clipboard-check',
390390
icon: ClipboardCheckIcon,
391-
keywords: ["clipboard", "check", "clipboard-check", "clipboard-checkmark"],
391+
keywords: ['clipboard', 'check', 'clipboard-check', 'clipboard-checkmark'],
392392
},
393393
{
394394
name: 'home',

icons/map-pin-check.tsx

+12-12
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,23 @@ const MapPinCheckIcon = () => {
4343
onMouseEnter={() => controls.start('animate')}
4444
onMouseLeave={() => controls.start('normal')}
4545
>
46-
<motion.svg
47-
xmlns="http://www.w3.org/2000/svg"
48-
width="28"
49-
height="28"
50-
viewBox="0 0 24 24"
51-
fill="none"
52-
stroke="currentColor"
53-
strokeWidth="2"
54-
strokeLinecap="round"
46+
<motion.svg
47+
xmlns="http://www.w3.org/2000/svg"
48+
width="28"
49+
height="28"
50+
viewBox="0 0 24 24"
51+
fill="none"
52+
stroke="currentColor"
53+
strokeWidth="2"
54+
strokeLinecap="round"
5555
strokeLinejoin="round"
5656
variants={svgVariants}
5757
initial="normal"
5858
animate={controls}
5959
>
60-
<path d="M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728"/>
61-
<circle cx="12" cy="10" r="3"/>
62-
<motion.path
60+
<path d="M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728" />
61+
<circle cx="12" cy="10" r="3" />
62+
<motion.path
6363
d="m16 18 2 2 4-4"
6464
variants={checkVariants}
6565
initial="normal"

icons/map-pin-house.tsx

+12-12
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,23 @@ const MapPinHouseIcon = () => {
4343
onMouseEnter={() => controls.start('animate')}
4444
onMouseLeave={() => controls.start('normal')}
4545
>
46-
<motion.svg
47-
xmlns="http://www.w3.org/2000/svg"
48-
width="28"
49-
height="28"
50-
viewBox="0 0 24 24"
51-
fill="none"
52-
stroke="currentColor"
53-
strokeWidth="2"
54-
strokeLinecap="round"
46+
<motion.svg
47+
xmlns="http://www.w3.org/2000/svg"
48+
width="28"
49+
height="28"
50+
viewBox="0 0 24 24"
51+
fill="none"
52+
stroke="currentColor"
53+
strokeWidth="2"
54+
strokeLinecap="round"
5555
strokeLinejoin="round"
5656
variants={svgVariants}
5757
initial="normal"
5858
animate={controls}
5959
>
60-
<path d="M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2"/>
61-
<circle cx="10" cy="10" r="3"/>
62-
<motion.path
60+
<path d="M18 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 .601.2" />
61+
<circle cx="10" cy="10" r="3" />
62+
<motion.path
6363
d="M15 22a1 1 0 0 1-1-1v-4a1 1 0 0 1 .445-.832l3-2a1 1 0 0 1 1.11 0l3 2A1 1 0 0 1 22 17v4a1 1 0 0 1-1 1z M18 22v-3"
6464
variants={houseVariants}
6565
initial="normal"

icons/map-pin-minus-inside.tsx

+11-11
Original file line numberDiff line numberDiff line change
@@ -43,22 +43,22 @@ const MapPinMinusInsideIcon = () => {
4343
onMouseEnter={() => controls.start('animate')}
4444
onMouseLeave={() => controls.start('normal')}
4545
>
46-
<motion.svg
47-
xmlns="http://www.w3.org/2000/svg"
48-
width="28"
49-
height="28"
50-
viewBox="0 0 24 24"
51-
fill="none"
52-
stroke="currentColor"
53-
strokeWidth="2"
54-
strokeLinecap="round"
46+
<motion.svg
47+
xmlns="http://www.w3.org/2000/svg"
48+
width="28"
49+
height="28"
50+
viewBox="0 0 24 24"
51+
fill="none"
52+
stroke="currentColor"
53+
strokeWidth="2"
54+
strokeLinecap="round"
5555
strokeLinejoin="round"
5656
variants={svgVariants}
5757
initial="normal"
5858
animate={controls}
5959
>
60-
<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"/>
61-
<motion.path
60+
<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0" />
61+
<motion.path
6262
d="M9 10h6"
6363
variants={minusVariants}
6464
initial="normal"

icons/map-pin-minus.tsx

+12-12
Original file line numberDiff line numberDiff line change
@@ -43,23 +43,23 @@ const MapPinMinusIcon = () => {
4343
onMouseEnter={() => controls.start('animate')}
4444
onMouseLeave={() => controls.start('normal')}
4545
>
46-
<motion.svg
47-
xmlns="http://www.w3.org/2000/svg"
48-
width="28"
49-
height="28"
50-
viewBox="0 0 24 24"
51-
fill="none"
52-
stroke="currentColor"
53-
strokeWidth="2"
54-
strokeLinecap="round"
46+
<motion.svg
47+
xmlns="http://www.w3.org/2000/svg"
48+
width="28"
49+
height="28"
50+
viewBox="0 0 24 24"
51+
fill="none"
52+
stroke="currentColor"
53+
strokeWidth="2"
54+
strokeLinecap="round"
5555
strokeLinejoin="round"
5656
variants={svgVariants}
5757
initial="normal"
5858
animate={controls}
5959
>
60-
<path d="M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738"/>
61-
<circle cx="12" cy="10" r="3"/>
62-
<motion.path
60+
<path d="M18.977 14C19.6 12.701 20 11.343 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738" />
61+
<circle cx="12" cy="10" r="3" />
62+
<motion.path
6363
d="M16 18h6"
6464
variants={minusVariants}
6565
initial="normal"

icons/map-pin-off.tsx

+15-15
Original file line numberDiff line numberDiff line change
@@ -43,30 +43,30 @@ const MapPinOffIcon = () => {
4343
onMouseEnter={() => controls.start('animate')}
4444
onMouseLeave={() => controls.start('normal')}
4545
>
46-
<motion.svg
47-
xmlns="http://www.w3.org/2000/svg"
48-
width="28"
49-
height="28"
50-
viewBox="0 0 24 24"
51-
fill="none"
52-
stroke="currentColor"
53-
strokeWidth="2"
54-
strokeLinecap="round"
46+
<motion.svg
47+
xmlns="http://www.w3.org/2000/svg"
48+
width="28"
49+
height="28"
50+
viewBox="0 0 24 24"
51+
fill="none"
52+
stroke="currentColor"
53+
strokeWidth="2"
54+
strokeLinecap="round"
5555
strokeLinejoin="round"
5656
variants={svgVariants}
5757
initial="normal"
58-
animate={controls}
58+
animate={controls}
5959
>
60-
<path d="M12.75 7.09a3 3 0 0 1 2.16 2.16"/>
61-
<path d="M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568"/>
62-
<motion.path
60+
<path d="M12.75 7.09a3 3 0 0 1 2.16 2.16" />
61+
<path d="M17.072 17.072c-1.634 2.17-3.527 3.912-4.471 4.727a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 1.432-4.568" />
62+
<motion.path
6363
d="m2 2 20 20"
6464
variants={barVariants}
6565
initial="normal"
6666
animate={controls}
6767
/>
68-
<path d="M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533"/>
69-
<path d="M9.13 9.13a3 3 0 0 0 3.74 3.74"/>
68+
<path d="M8.475 2.818A8 8 0 0 1 20 10c0 1.183-.31 2.377-.81 3.533" />
69+
<path d="M9.13 9.13a3 3 0 0 0 3.74 3.74" />
7070
</motion.svg>
7171
</div>
7272
);

icons/map-pin-plus-inside.tsx

+11-11
Original file line numberDiff line numberDiff line change
@@ -59,27 +59,27 @@ const MapPinPlusInsideIcon = () => {
5959
onMouseLeave={() => controls.start('normal')}
6060
>
6161
<motion.svg
62-
xmlns="http://www.w3.org/2000/svg"
63-
width="28"
64-
height="28"
65-
viewBox="0 0 24 24"
66-
fill="none"
67-
stroke="currentColor"
68-
strokeWidth="2"
69-
strokeLinecap="round"
62+
xmlns="http://www.w3.org/2000/svg"
63+
width="28"
64+
height="28"
65+
viewBox="0 0 24 24"
66+
fill="none"
67+
stroke="currentColor"
68+
strokeWidth="2"
69+
strokeLinecap="round"
7070
strokeLinejoin="round"
7171
variants={svgVariants}
7272
initial="normal"
7373
animate={controls}
7474
>
75-
<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"/>
76-
<motion.path
75+
<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0" />
76+
<motion.path
7777
d="M12 7v6"
7878
variants={horizontalBarVariants}
7979
initial="normal"
8080
animate={controls}
8181
/>
82-
<motion.path
82+
<motion.path
8383
d="M9 10h6"
8484
variants={verticalBarVariants}
8585
initial="normal"

icons/map-pin-plus.tsx

+13-13
Original file line numberDiff line numberDiff line change
@@ -58,29 +58,29 @@ const MapPinPlusIcon = () => {
5858
onMouseEnter={() => controls.start('animate')}
5959
onMouseLeave={() => controls.start('normal')}
6060
>
61-
<motion.svg
62-
xmlns="http://www.w3.org/2000/svg"
63-
width="28"
64-
height="28"
65-
viewBox="0 0 24 24"
66-
fill="none"
67-
stroke="currentColor"
68-
strokeWidth="2"
69-
strokeLinecap="round"
61+
<motion.svg
62+
xmlns="http://www.w3.org/2000/svg"
63+
width="28"
64+
height="28"
65+
viewBox="0 0 24 24"
66+
fill="none"
67+
stroke="currentColor"
68+
strokeWidth="2"
69+
strokeLinecap="round"
7070
strokeLinejoin="round"
7171
variants={svgVariants}
7272
initial="normal"
7373
animate={controls}
7474
>
75-
<path d="M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738"/>
76-
<circle cx="12" cy="10" r="3"/>
77-
<motion.path
75+
<path d="M19.914 11.105A7.298 7.298 0 0 0 20 10a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32 32 0 0 0 .824-.738" />
76+
<circle cx="12" cy="10" r="3" />
77+
<motion.path
7878
d="M16 18h6"
7979
variants={horizontalBarVariants}
8080
initial="normal"
8181
animate={controls}
8282
/>
83-
<motion.path
83+
<motion.path
8484
d="M19 15v6"
8585
variants={verticalBarVariants}
8686
initial="normal"

icons/map-pin-x-inside.tsx

+11-11
Original file line numberDiff line numberDiff line change
@@ -59,27 +59,27 @@ const MapPinXInsideIcon = () => {
5959
onMouseLeave={() => controls.start('normal')}
6060
>
6161
<motion.svg
62-
xmlns="http://www.w3.org/2000/svg"
63-
width="28"
64-
height="28"
65-
viewBox="0 0 24 24"
66-
fill="none"
67-
stroke="currentColor"
68-
strokeWidth="2"
69-
strokeLinecap="round"
62+
xmlns="http://www.w3.org/2000/svg"
63+
width="28"
64+
height="28"
65+
viewBox="0 0 24 24"
66+
fill="none"
67+
stroke="currentColor"
68+
strokeWidth="2"
69+
strokeLinecap="round"
7070
strokeLinejoin="round"
7171
variants={svgVariants}
7272
initial="normal"
7373
animate={controls}
7474
>
75-
<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"/>
76-
<motion.path
75+
<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0" />
76+
<motion.path
7777
d="m14.5 7.5-5 5"
7878
variants={firstBarVariants}
7979
initial="normal"
8080
animate={controls}
8181
/>
82-
<motion.path
82+
<motion.path
8383
d="m9.5 7.5 5 5"
8484
variants={secondBarVariants}
8585
initial="normal"

public/c/clipboard-check.json

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "clipboard-check",
3+
"type": "registry:ui",
4+
"registryDependencies": [],
5+
"dependencies": [
6+
"motion"
7+
],
8+
"devDependencies": [],
9+
"tailwind": {},
10+
"cssVars": {
11+
"light": {},
12+
"dark": {}
13+
},
14+
"files": [
15+
{
16+
"path": "clipboard-check.tsx",
17+
"content": "'use client';\n\nimport { motion, useAnimation } from 'motion/react';\nimport type { Variants } from 'motion/react';\n\nconst checkVariants: Variants = {\n normal: {\n pathLength: 1,\n opacity: 0,\n transition: {\n duration: 0.3,\n },\n },\n animate: {\n pathLength: [0, 1],\n opacity: [0, 1],\n transition: {\n pathLength: { duration: 0.4, ease: 'easeInOut' },\n opacity: { duration: 0.4, ease: 'easeInOut' },\n },\n },\n};\n\nconst ClipboardCheckIcon = () => {\n const controls = useAnimation();\n\n return (\n <div\n className=\"cursor-pointer p-2 hover:bg-accent rounded-md transition-colors duration-200 flex items-center justify-center\"\n onMouseEnter={() => controls.start('animate')}\n onMouseLeave={() => controls.start('normal')}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className=\"text-gray-700 hover:text-gray-900 transition-colors duration-200\"\n >\n <rect width=\"8\" height=\"4\" x=\"8\" y=\"2\" rx=\"1\" ry=\"1\" />\n <path d=\"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\" />\n <motion.path\n animate={controls}\n initial=\"normal\"\n variants={checkVariants}\n d=\"m9 14 2 2 4-4\"\n style={{ transformOrigin: 'center' }}\n />\n </svg>\n </div>\n );\n};\n\nexport { ClipboardCheckIcon };\n",
18+
"type": "registry:ui"
19+
}
20+
]
21+
}

public/c/map-pin-check.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"files": [
1515
{
1616
"path": "map-pin-check.tsx",
17-
"content": "'use client';\n\nimport type { Variants } from 'motion/react';\nimport { motion, useAnimation } from 'motion/react';\n\nconst svgVariants: Variants = {\n normal: {\n y: 0,\n },\n animate: {\n y: [0, -5, -3],\n transition: {\n duration: 0.5,\n times: [0, 0.6, 1],\n type: 'spring',\n stiffness: 200,\n damping: 10,\n },\n },\n};\n\nconst checkVariants: Variants = {\n normal: {\n opacity: 1,\n },\n animate: {\n opacity: [0, 1],\n pathLength: [0, 1],\n transition: {\n delay: 0.3,\n duration: 0.3,\n opacity: { duration: 0.1, delay: 0.3 },\n },\n },\n};\n\nconst MapPinCheckIcon = () => {\n const controls = useAnimation();\n\n return (\n <div\n className=\"cursor-pointer select-none p-2 hover:bg-accent rounded-md transition-colors duration-200 flex items-center justify-center\"\n onMouseEnter={() => controls.start('animate')}\n onMouseLeave={() => controls.start('normal')}\n >\n <motion.svg \n xmlns=\"http://www.w3.org/2000/svg\" \n width=\"28\" \n height=\"28\" \n viewBox=\"0 0 24 24\" \n fill=\"none\" \n stroke=\"currentColor\" \n strokeWidth=\"2\" \n strokeLinecap=\"round\" \n strokeLinejoin=\"round\"\n variants={svgVariants}\n initial=\"normal\"\n animate={controls}\n >\n <path d=\"M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728\"/>\n <circle cx=\"12\" cy=\"10\" r=\"3\"/>\n <motion.path \n d=\"m16 18 2 2 4-4\"\n variants={checkVariants}\n initial=\"normal\"\n animate={controls}\n />\n </motion.svg>\n </div>\n );\n};\n\nexport { MapPinCheckIcon };\n",
17+
"content": "'use client';\n\nimport type { Variants } from 'motion/react';\nimport { motion, useAnimation } from 'motion/react';\n\nconst svgVariants: Variants = {\n normal: {\n y: 0,\n },\n animate: {\n y: [0, -5, -3],\n transition: {\n duration: 0.5,\n times: [0, 0.6, 1],\n type: 'spring',\n stiffness: 200,\n damping: 10,\n },\n },\n};\n\nconst checkVariants: Variants = {\n normal: {\n opacity: 1,\n },\n animate: {\n opacity: [0, 1],\n pathLength: [0, 1],\n transition: {\n delay: 0.3,\n duration: 0.3,\n opacity: { duration: 0.1, delay: 0.3 },\n },\n },\n};\n\nconst MapPinCheckIcon = () => {\n const controls = useAnimation();\n\n return (\n <div\n className=\"cursor-pointer select-none p-2 hover:bg-accent rounded-md transition-colors duration-200 flex items-center justify-center\"\n onMouseEnter={() => controls.start('animate')}\n onMouseLeave={() => controls.start('normal')}\n >\n <motion.svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"28\"\n height=\"28\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n variants={svgVariants}\n initial=\"normal\"\n animate={controls}\n >\n <path d=\"M19.43 12.935c.357-.967.57-1.955.57-2.935a8 8 0 0 0-16 0c0 4.993 5.539 10.193 7.399 11.799a1 1 0 0 0 1.202 0 32.197 32.197 0 0 0 .813-.728\" />\n <circle cx=\"12\" cy=\"10\" r=\"3\" />\n <motion.path\n d=\"m16 18 2 2 4-4\"\n variants={checkVariants}\n initial=\"normal\"\n animate={controls}\n />\n </motion.svg>\n </div>\n );\n};\n\nexport { MapPinCheckIcon };\n",
1818
"type": "registry:ui"
1919
}
2020
]

0 commit comments

Comments
 (0)