Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions src/VolantesCursor/VolantesCursor.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import { CursorProps, useCursorify } from '@cursorify/react'
import React from 'react'
import Default from './svgs/Default'
import Pointer from './svgs/Pointer'
import Text from './svgs/Text'

export const VolantesCursor: React.FC<CursorProps> = ({ disabled }) => {
const { style } = useCursorify()

const margin = disabled ? 24 : style === 'default' ? 24 : 12
return (
<div
style={{
width: 24,
height: 24,
marginTop: margin,
marginLeft: margin,
}}
>
{(() => {
if (disabled) return <Default />
if (style === 'pointer') return <Pointer />
if (style === 'text') return <Text />
return <Default />
})()}
</div>
)
}
2 changes: 2 additions & 0 deletions src/VolantesCursor/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
// https://github.com/varlesh/volantes-cursors
export * from "./VolantesCursor";
63 changes: 63 additions & 0 deletions src/VolantesCursor/svgs/Default.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
import React from "react";

function Default() {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
id="svg5327"
width="32"
height="32"
version="1.1"
>
<defs id="defs5329">
<filter
id="filter901"
style="color-interpolation-filters:sRGB"
width="1.143"
height="1.104"
x="-.07"
y="-.05"
>
<feGaussianBlur id="feGaussianBlur903" stdDeviation=".475" />
</filter>
<filter
id="filter818"
style="color-interpolation-filters:sRGB"
width="1.171"
height="1.124"
x="-.09"
y="-.06"
>
<feGaussianBlur id="feGaussianBlur820" stdDeviation=".57" />
</filter>
<filter
id="filter914"
style="color-interpolation-filters:sRGB"
width="1.171"
height="1.124"
x="-.09"
y="-.06"
>
<feGaussianBlur id="feGaussianBlur916" stdDeviation=".57" />
</filter>
</defs>
<path
id="path887"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.99915862;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;filter:url(#filter914);color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 2.4621529,1.5013617 C 1.9309785,1.5284396 1.5140652,1.9671028 1.5136622,2.4993344 L 1.5000008,22.497849 c -0.00133,1.135729 1.5899877,1.394218 1.9477239,0.316383 0.9111453,-2.735331 3.0350839,-5.175772 5.1132629,-6.284689 1.2756664,-0.649071 2.6350314,-1.020439 3.9324044,-1.030149 1.281347,-0.0096 2.502207,0.335057 3.524763,0.881722 1.033732,0.555669 2.012905,-0.817786 1.15146,-1.615114 L 3.1940131,1.7669669 C 2.9959677,1.5830739 2.7319551,1.487259 2.4621529,1.5013617 Z"
/>
<path
id="path848"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#232627;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.99915862;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 1.9621521,1.0013629 C 1.4309777,1.0284408 1.0140644,1.467104 1.0136614,1.9993356 L 1,21.997849 c -0.00133,1.135729 1.5899877,1.394218 1.9477239,0.316383 0.9111453,-2.735331 3.0350839,-5.175772 5.1132629,-6.284689 1.2756664,-0.649071 2.6350312,-1.020439 3.9324042,-1.030149 1.281347,-0.0096 2.502207,0.335057 3.524763,0.881722 1.033732,0.555669 2.012905,-0.817786 1.15146,-1.615114 L 2.6940123,1.2669681 C 2.4959669,1.0830751 2.2319543,0.9872602 1.9621521,1.0013629 Z"
/>
<path
id="path823"
style="opacity:1;fill:#efefef;fill-opacity:1;stroke:none;stroke-width:1.67926061;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 2.01406,2 2,22 C 3,19 5.2466416,16.39612 7.6028347,15.142847 9.022616,14.418876 10.539543,14.009906 12,14 c 1.435898,-0.0097 2.817191,0.3681 4,1 z"
/>
</svg>
);
}

export default Default;
53 changes: 53 additions & 0 deletions src/VolantesCursor/svgs/Pointer.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import React from "react";

function Pointer() {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
id="svg5958"
width="32"
height="32"
version="1.1"
>
<defs id="defs5960">
<filter
id="filter858"
style="color-interpolation-filters:sRGB"
width="1.126"
height="1.115"
x="-.06"
y="-.06"
>
<feGaussianBlur id="feGaussianBlur860" stdDeviation=".525" />
</filter>
<filter
id="filter826"
style="color-interpolation-filters:sRGB"
width="1.151"
height="1.137"
x="-.08"
y="-.07"
>
<feGaussianBlur id="feGaussianBlur828" stdDeviation=".63" />
</filter>
</defs>
<path
id="path836"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.00008345;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;filter:url(#filter826)"
d="m 13.998046,5.4999374 c -0.720353,0 -1.404032,0.3938787 -1.839998,0.9960938 -0.435965,0.6022148 -0.660211,1.3962024 -0.660211,2.3339843 V 16.16986 C 10.9241,15.742771 10.257802,15.086421 9.7633173,14.871032 8.7829052,14.443981 7.8653132,14.412413 7.1576308,14.710876 5.7422661,15.307799 5.5188221,16.802672 5.5188221,16.802672 a 1.0001835,1.0001 0 0 0 0.4238636,1.023438 c 1.4627292,0.982118 2.899927,3.260774 4.2796543,5.367187 0.689863,1.053207 1.374254,2.061503 2.152523,2.861329 0.778269,0.799824 1.720908,1.452707 2.873287,1.445312 h 8.594468 a 1.0001835,1.0001 0 0 0 0.99813,-0.935547 l 0.642632,-9.816406 -0.0039,0.03711 c 0.145134,-1.394777 -0.48967,-2.624203 -1.578257,-3.0625 -0.485224,-0.195365 -1.059631,-0.128478 -1.572398,0.08008 -0.352955,-0.562009 -0.840972,-0.983703 -1.429806,-1.152343 -0.535874,-0.153472 -1.109309,-0.0758 -1.625136,0.148437 -0.387215,-0.528701 -0.917404,-0.925709 -1.504032,-1.099609 -0.399165,-0.118329 -0.841054,-0.02218 -1.27159,0.05273 V 8.8300155 c 0,-0.9377819 -0.222293,-1.7317694 -0.658258,-2.3339843 C 15.40403,5.8938162 14.718398,5.4999374 13.998046,5.4999374 Z"
/>
<path
id="path833"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#232627;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2.00008345;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 13.498046,5 C 12.777693,5 12.094014,5.3938787 11.658048,5.9960938 11.222083,6.5983086 10.997837,7.3922962 10.997837,8.3300781 V 15.669922 C 10.4241,15.242833 9.7578021,14.586483 9.2633173,14.371094 8.2829052,13.944043 7.3653132,13.912475 6.6576308,14.210938 5.2422661,14.807861 5.0188221,16.302734 5.0188221,16.302734 a 1.0001835,1.0001 0 0 0 0.4238636,1.023438 c 1.4627292,0.982118 2.899927,3.260774 4.2796542,5.367187 0.6898631,1.053207 1.3742541,2.061503 2.1525231,2.861329 0.778269,0.799824 1.720908,1.452707 2.873287,1.445312 h 8.594468 a 1.0001835,1.0001 0 0 0 0.99813,-0.935547 l 0.642632,-9.816406 -0.0039,0.03711 c 0.145134,-1.394777 -0.48967,-2.624203 -1.578257,-3.0625 -0.485224,-0.195365 -1.059631,-0.128478 -1.572398,0.08008 -0.352955,-0.562009 -0.840972,-0.983703 -1.429806,-1.152343 -0.535874,-0.153472 -1.109309,-0.0758 -1.625136,0.148437 -0.387215,-0.528701 -0.917404,-0.925709 -1.504032,-1.099609 -0.399165,-0.118329 -0.841054,-0.02218 -1.27159,0.05273 V 8.3300781 c 0,-0.9377819 -0.222293,-1.7317694 -0.658258,-2.3339843 C 14.90403,5.3938788 14.218398,5 13.498046,5 Z"
/>
<path
id="path4236-1-58-5"
style="display:inline;fill:#efefef;fill-opacity:1;stroke:none;stroke-width:1.03872561"
d="M 14.741136,25.999962 23.342158,26 23.98427,16.181947 c 0.218468,-2.099705 -1.89873,-2.973378 -2.625148,-1.035893 0.0094,-2.328369 -2.299005,-2.719799 -3.024433,-1.136 0.09082,-1.923697 -2.578408,-2.668256 -3.336375,-1.035894 V 8.3307612 c 0,-3.1076818 -2.999438,-3.1076818 -2.999438,0 V 17.653806 C 6.7910504,12.474337 6,16.496 6,16.496 c 3.5389356,2.37634 5.703558,9.523457 8.741136,9.503962 z"
/>
</svg>
);
}

export default Pointer;
53 changes: 53 additions & 0 deletions src/VolantesCursor/svgs/Text.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
import React from "react";

function Text() {
return (
<svg
xmlns="http://www.w3.org/2000/svg"
id="svg5327"
width="32"
height="32"
version="1.1"
>
<defs id="defs5329">
<filter
id="filter854"
style="color-interpolation-filters:sRGB"
width="1.324"
height="1.074"
x="-.16"
y="-.04"
>
<feGaussianBlur id="feGaussianBlur856" stdDeviation=".338" />
</filter>
<filter
id="filter822"
style="color-interpolation-filters:sRGB"
width="1.389"
height="1.088"
x="-.19"
y="-.04"
>
<feGaussianBlur id="feGaussianBlur824" stdDeviation=".405" />
</filter>
</defs>
<path
id="path832"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:0.2;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate;filter:url(#filter822)"
d="m 14.5,5.5 a 1.0001,1.0001 0 0 0 -1,1 v 1 a 1.0001,1.0001 0 0 0 1,1 v 16 a 1.0001,1.0001 0 0 0 -1,1 v 1 a 1.0001,1.0001 0 0 0 1,1 h 1 1 1 a 1.0001,1.0001 0 0 0 1,-1 v -1 a 1.0001,1.0001 0 0 0 -1,-1 v -16 a 1.0001,1.0001 0 0 0 1,-1 v -1 a 1.0001,1.0001 0 0 0 -1,-1 h -1 -1 z"
/>
<path
id="path828"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#232627;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 14,5 a 1.0001,1.0001 0 0 0 -1,1 v 1 a 1.0001,1.0001 0 0 0 1,1 v 16 a 1.0001,1.0001 0 0 0 -1,1 v 1 a 1.0001,1.0001 0 0 0 1,1 h 1 1 1 a 1.0001,1.0001 0 0 0 1,-1 V 25 A 1.0001,1.0001 0 0 0 17,24 V 8 A 1.0001,1.0001 0 0 0 18,7 V 6 A 1.0001,1.0001 0 0 0 17,5 h -1 -1 z"
/>
<path
id="rect840"
style="opacity:1;fill:#efefef;fill-opacity:1;stroke:none;stroke-width:1.35400641;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 14 6 L 14 7 L 15 7 L 15 25 L 14 25 L 14 26 L 15 26 L 16 26 L 17 26 L 17 25 L 16 25 L 16 7 L 17 7 L 17 6 L 16 6 L 15 6 L 14 6 z"
/>
</svg>
);
}

export default Text;
1 change: 1 addition & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
export * from './EmojiCursor'
export * from './PhingerCursor'
export * from './VolantesCursor'