Socket
Socket
Sign inDemoInstall

@dblatcher/funny-face

Package Overview
Dependencies
1
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.8 to 0.2.0

src/lib/components/ExpressionDesigner.d.ts

306

index.esm.js

@@ -96,2 +96,21 @@ import 'core-js/modules/es.array.iterator.js';

};
const SUSPICIOUS = {
leftEye: {
browRaise: 15,
open: 0.5,
dilation: 0.8,
browTilt: 10
},
rightEye: {
browTilt: 11,
open: 0.45,
dilation: 0.8,
browRaise: -10
},
mouth: {
smile: -0.2,
pucker: 0.3,
open: 0
}
};
const NEUTRAL = {

@@ -108,3 +127,4 @@ leftEye: {},

HAPPY,
ASLEEP
ASLEEP,
SUSPICIOUS
};

@@ -291,2 +311,3 @@

}) => {
var _a;
return jsx(FeatureFrame, {

@@ -306,3 +327,3 @@ x: x,

stroke: 'black',
fill: profile.color,
fill: (_a = profile.color) !== null && _a !== void 0 ? _a : 'lightgray',
rx: 10,

@@ -899,3 +920,3 @@ ry: 20

transitionTime: transitionTime
}), accessories.map(accessory => jsx(HeadAccessory, {
}), accessories.map((accessory, index) => jsx(HeadAccessory, {
accessory: accessory,

@@ -905,3 +926,3 @@ faceProfile: profile,

transitionTime: transitionTime
})), jsx(FeatureFrame, {
}, index)), jsx(FeatureFrame, {
x: -50,

@@ -1263,2 +1284,234 @@ y: -50,

var monocle = "data:image/png;base64,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";
var moustache = "data:image/png;base64,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";
var hat = "data:image/png;base64,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";
const accessoryMap = {
HAT: {
src: hat,
x: 0,
y: -60,
width: 80
},
MONOCLE: {
src: monocle,
x: -14,
y: 20,
width: 64,
place: 'right-eye'
},
MONOCLE_BACKWARDS: {
src: monocle,
x: -14,
y: 20,
width: 64,
place: 'left-eye'
},
MOUSTACHE: {
src: moustache,
x: 0,
y: 0,
width: 64,
place: 'nose'
},
BEARD: {
src: moustache,
x: 0,
y: -10,
width: 32,
place: 'chin'
}
};
const EyeControls = ({
eye,
setEye
}) => {
var _a, _b, _c, _d;
return jsxs(Fragment, {
children: [jsx(NumberInput, {
label: "open",
value: (_a = eye.open) !== null && _a !== void 0 ? _a : 0.75,
type: "range",
step: .05,
min: 0,
max: 1,
inputHandler: value => {
setEye(Object.assign(Object.assign({}, eye), {
open: value
}));
}
}), jsx(NumberInput, {
label: "browTilt",
value: (_b = eye.browTilt) !== null && _b !== void 0 ? _b : 0.75,
type: "range",
step: 1,
min: 0,
max: 45,
inputHandler: value => {
setEye(Object.assign(Object.assign({}, eye), {
browTilt: value
}));
}
}), jsx(NumberInput, {
label: "browRaise",
value: (_c = eye.browRaise) !== null && _c !== void 0 ? _c : 0.75,
type: "range",
step: 1,
min: -20,
max: 20,
inputHandler: value => {
setEye(Object.assign(Object.assign({}, eye), {
browRaise: value
}));
}
}), jsx(NumberInput, {
label: "dilation",
value: (_d = eye.dilation) !== null && _d !== void 0 ? _d : 1,
type: "range",
step: .1,
min: 0,
max: 2,
inputHandler: value => {
setEye(Object.assign(Object.assign({}, eye), {
dilation: value
}));
}
})]
});
};
const MouthControls = ({
mouth,
setMouth
}) => {
var _a, _b, _c;
return jsxs(Fragment, {
children: [jsx(NumberInput, {
label: "open",
value: (_a = mouth.open) !== null && _a !== void 0 ? _a : 0,
type: "range",
step: .05,
min: 0,
max: 1,
inputHandler: value => {
setMouth(Object.assign(Object.assign({}, mouth), {
open: value
}));
}
}), jsx(NumberInput, {
label: "smile",
value: (_b = mouth.smile) !== null && _b !== void 0 ? _b : 0,
type: "range",
step: .05,
min: -1,
max: 1,
inputHandler: value => {
setMouth(Object.assign(Object.assign({}, mouth), {
smile: value
}));
}
}), jsx(NumberInput, {
label: "pucker",
value: (_c = mouth.pucker) !== null && _c !== void 0 ? _c : 0,
type: "range",
step: .05,
min: 0,
max: 1,
inputHandler: value => {
setMouth(Object.assign(Object.assign({}, mouth), {
pucker: value
}));
}
})]
});
};
const ExpressionDesigner = () => {
const [leftEye, setLeftEye] = useState({});
const [rightEye, setRightEye] = useState({});
const [mouth, setMouth] = useState({});
const expression = {
leftEye,
rightEye,
mouth
};
return jsxs("div", {
style: {
border: '1px dotted black',
margin: '1em',
display: 'flex'
},
children: [jsx(SvgFrame, {
style: {
width: '200px',
border: '1px solid black'
},
viewBox: "0 0 120 150",
children: jsx(FunnyFace, {
x: 20,
y: 50,
size: 80,
profile: {
browShape: browShapes.THIN
},
expression: expression,
talking: false,
followMouse: true,
accessories: []
})
}), jsxs("section", {
children: [jsx("h2", {
children: "expression designer"
}), jsxs("div", {
style: {
display: 'flex'
},
children: [jsxs("div", {
style: {
display: 'flex',
flexDirection: 'column'
},
children: [jsx("h3", {
children: "left eye"
}), jsx(EyeControls, {
eye: leftEye,
setEye: setLeftEye
})]
}), jsxs("div", {
style: {
display: 'flex',
flexDirection: 'column'
},
children: [jsx("h3", {
children: "right eye"
}), jsx(EyeControls, {
eye: rightEye,
setEye: setRightEye
})]
}), jsxs("div", {
style: {
display: 'flex',
flexDirection: 'column'
},
children: [jsx("h3", {
children: "Mouth"
}), jsx(MouthControls, {
mouth: mouth,
setMouth: setMouth
})]
})]
})]
}), jsx("section", {
children: jsx("textarea", {
style: {
height: '100%'
},
value: JSON.stringify(expression, undefined, 1),
rows: 20
})
})]
});
};
class FaceWithExpressionControl extends Component {

@@ -1314,45 +1567,2 @@ constructor(props) {

var monocle = "data:image/png;base64,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";
var moustache = "data:image/png;base64,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";
var hat = "data:image/png;base64,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";
const accessoryMap = {
HAT: {
src: hat,
x: 0,
y: -60,
width: 80
},
MONOCLE: {
src: monocle,
x: -14,
y: 20,
width: 64,
place: 'right-eye'
},
MONOCLE_BACKWARDS: {
src: monocle,
x: -14,
y: 20,
width: 64,
place: 'left-eye'
},
MOUSTACHE: {
src: moustache,
x: 0,
y: 0,
width: 64,
place: 'nose'
},
BEARD: {
src: moustache,
x: 0,
y: -10,
width: 32,
place: 'chin'
}
};
export { FaceWithExpressionControl, FunnyFace, SvgFrame, UIForFunnyFace, accessoryMap, browShapes, expressions, toothShapes };
export { ExpressionDesigner, FaceWithExpressionControl, FunnyFace, SvgFrame, UIForFunnyFace, accessoryMap, browShapes, expressions, toothShapes };

2

package.json
{
"name": "@dblatcher/funny-face",
"version": "0.1.8",
"version": "0.2.0",
"peerDependencies": {

@@ -5,0 +5,0 @@ "core-js": "3.33.0"

@@ -0,0 +0,0 @@ # funny-face-lib

export { UIForFunnyFace } from './lib/components/UIForFunnyFace';
export { ExpressionDesigner } from './lib/components/ExpressionDesigner';
export { FaceWithExpressionControl } from './lib/components/FaceWithExpressionControl';

@@ -3,0 +4,0 @@ export { FunnyFace } from './lib/components/FunnyFace';

@@ -9,2 +9,3 @@ import { FacialExpression } from '../types';

ASLEEP: FacialExpression;
SUSPICIOUS: FacialExpression;
};

@@ -33,5 +33,17 @@ export interface FaceProfile {

export interface EyeArrangement {
/**how open the eye is:
* - 0 (closed)
* - 0.75 (default)
* - 1 (wide open)
* */
open?: number;
/** angle in degrees of the eyebrow, 0 = horizontal */
browTilt?: number;
/** percentage increase in the Y position of the brow relative to the eye */
browRaise?: number;
/**how big the pupil is:
* - 0 (no pupil)
* - 1 (default)
* - 2 (pupil fills iris)
*/
dilation?: number;

@@ -38,0 +50,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc