ferns-ui 0.3.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/checkDeps.js +19 -0
- package/dist/Avatar.d.ts +25 -0
- package/dist/Avatar.js +48 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Button.js +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Common.d.ts +1 -1
- package/dist/Common.js.map +1 -1
- package/dist/Heading.js +1 -1
- package/dist/Heading.js.map +1 -1
- package/dist/Mask.d.ts +1 -3
- package/dist/Mask.js +15 -18
- package/dist/Mask.js.map +1 -1
- package/dist/Text.js +1 -1
- package/dist/Text.js.map +1 -1
- package/dist/Unifier.d.ts +6 -1
- package/dist/Unifier.js +88 -0
- package/dist/Unifier.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/package.json +14 -13
- package/src/Avatar.tsx +98 -0
- package/src/Button.tsx +3 -2
- package/src/Common.ts +2 -1
- package/src/Heading.tsx +1 -1
- package/src/Mask.tsx +15 -18
- package/src/Text.tsx +1 -1
- package/src/Unifier.ts +102 -1
- package/src/index.tsx +1 -0
package/checkDeps.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
2
|
+
const pkg = require("./package.json");
|
|
3
|
+
if (require.main === module) {
|
|
4
|
+
let errors = 0;
|
|
5
|
+
for (const peerDep of Object.keys(pkg.peerDependencies)) {
|
|
6
|
+
if (pkg.devDependencies[peerDep] !== pkg.peerDependencies[peerDep]) {
|
|
7
|
+
console.error(
|
|
8
|
+
`Peer Dependency ${peerDep} is ${pkg.peerDependencies[peerDep]} not equal to ` +
|
|
9
|
+
`Dev Dependency ${pkg.devDependencies[peerDep]}`
|
|
10
|
+
);
|
|
11
|
+
errors += 1;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
if (errors > 0) {
|
|
15
|
+
process.exit(1);
|
|
16
|
+
}
|
|
17
|
+
} else {
|
|
18
|
+
console.error("Must be run as a module");
|
|
19
|
+
}
|
package/dist/Avatar.d.ts
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface AvatarProps {
|
|
3
|
+
/**
|
|
4
|
+
* The name of the user. This is used for the placeholder treatment if an image is not available.
|
|
5
|
+
*/
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* Override the generated initials from `name`.
|
|
9
|
+
*/
|
|
10
|
+
initials?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Adds a white border around Avatar so it's visible when displayed on other images.
|
|
13
|
+
*/
|
|
14
|
+
outline?: boolean;
|
|
15
|
+
/**
|
|
16
|
+
* xs: 24px, sm: 32px, md: 48px, lg: 64px, xl: 120px.
|
|
17
|
+
*/
|
|
18
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
19
|
+
/**
|
|
20
|
+
* The URL of the user's image.
|
|
21
|
+
*/
|
|
22
|
+
src?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const Avatar: (props: AvatarProps) => React.ReactElement;
|
|
25
|
+
export {};
|
package/dist/Avatar.js
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import React, { useState } from "react";
|
|
2
|
+
import { Image, Text, View } from "react-native";
|
|
3
|
+
import { Box } from "./Box";
|
|
4
|
+
import { Unifier } from "./Unifier";
|
|
5
|
+
const sizes = {
|
|
6
|
+
xs: 24,
|
|
7
|
+
sm: 32,
|
|
8
|
+
md: 48,
|
|
9
|
+
lg: 64,
|
|
10
|
+
xl: 120,
|
|
11
|
+
};
|
|
12
|
+
export const Avatar = (props) => {
|
|
13
|
+
const [isImageLoaded, setIsImageLoaded] = useState(true);
|
|
14
|
+
const { name, initials, outline, size = "md", src } = props;
|
|
15
|
+
const width = sizes[size];
|
|
16
|
+
const height = sizes[size];
|
|
17
|
+
const radius = sizes[size] / 2;
|
|
18
|
+
const fontSize = sizes[size] / 2;
|
|
19
|
+
const computedInitials = initials !== null && initials !== void 0 ? initials : name.match(/(^\S\S?|\s\S)?/g)
|
|
20
|
+
.map((v) => v.trim())
|
|
21
|
+
.join("")
|
|
22
|
+
.match(/(^\S|\S$)?/g)
|
|
23
|
+
.join("")
|
|
24
|
+
.toLocaleUpperCase();
|
|
25
|
+
const handleImageError = () => setIsImageLoaded(false);
|
|
26
|
+
return (React.createElement(Box, { border: outline ? "white" : undefined, height: height, overflow: "hidden", position: "relative", rounding: "circle", width: width }, src && isImageLoaded ? (
|
|
27
|
+
// TODO: Make our Image component rounding work so that we can use it for Avatar. Currently it creates an
|
|
28
|
+
// unrounded box around the Image.
|
|
29
|
+
React.createElement(Image, { resizeMode: "contain", source: { uri: src, cache: "force-cache" }, style: {
|
|
30
|
+
borderRadius: radius,
|
|
31
|
+
height,
|
|
32
|
+
width,
|
|
33
|
+
display: "flex",
|
|
34
|
+
alignItems: "center",
|
|
35
|
+
justifyContent: "center",
|
|
36
|
+
overflow: "hidden",
|
|
37
|
+
}, onError: handleImageError })) : (React.createElement(View, { style: {
|
|
38
|
+
height,
|
|
39
|
+
width,
|
|
40
|
+
borderRadius: radius,
|
|
41
|
+
display: "flex",
|
|
42
|
+
alignItems: "center",
|
|
43
|
+
justifyContent: "center",
|
|
44
|
+
backgroundColor: Unifier.theme.gray,
|
|
45
|
+
} },
|
|
46
|
+
React.createElement(Text, { style: { fontSize, color: Unifier.theme.darkGray } }, computedInitials)))));
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=Avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../src/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,MAAM,KAAK,GAAG;IACZ,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,GAAG;CACR,CAAC;AAyBF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAkB,EAAsB,EAAE;IAC/D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACzD,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,EAAC,GAAG,KAAK,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,gBAAgB,GACpB,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GACP,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAS;SACnC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAC5B,IAAI,CAAC,EAAE,CAAC;SACR,KAAK,CAAC,aAAa,CAAC;SACpB,IAAI,CAAC,EAAE,CAAC;SACR,iBAAiB,EAAE,CAAC;IAEzB,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACvD,OAAO,CACL,oBAAC,GAAG,IACF,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACrC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAC,QAAQ,EACjB,QAAQ,EAAC,UAAU,EACnB,QAAQ,EAAC,QAAQ,EACjB,KAAK,EAAE,KAAK,IAEX,GAAG,IAAI,aAAa,CAAC,CAAC,CAAC;IACtB,yGAAyG;IACzG,mCAAmC;IACnC,oBAAC,KAAK,IACJ,UAAU,EAAC,SAAS,EACpB,MAAM,EAAE,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,aAAa,EAAC,EACxC,KAAK,EAAE;YACL,YAAY,EAAE,MAAM;YACpB,MAAM;YACN,KAAK;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,QAAQ,EAAE,QAAQ;SACnB,EACD,OAAO,EAAE,gBAAgB,GACzB,CACH,CAAC,CAAC,CAAC,CACF,oBAAC,IAAI,IACH,KAAK,EAAE;YACL,MAAM;YACN,KAAK;YACL,YAAY,EAAE,MAAM;YACpB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,eAAe,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI;SACpC;QAED,oBAAC,IAAI,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAC,IAAG,gBAAgB,CAAQ,CAC5E,CACR,CACG,CACP,CAAC;AACJ,CAAC,CAAC"}
|
package/dist/Button.js
CHANGED
|
@@ -94,7 +94,7 @@ export class Button extends React.Component {
|
|
|
94
94
|
this.props.icon !== undefined && (React.createElement(Box, { paddingX: 2 },
|
|
95
95
|
React.createElement(Icon, { color: this.getTextColor(this.props.color), name: this.props.icon, prefix: this.props.iconPrefix || "far", size: this.props.size }))),
|
|
96
96
|
Boolean(this.props.children) && this.props.children,
|
|
97
|
-
Boolean(this.props.text) && (React.createElement(Text, { color: this.getTextColor(color), inline: this.props.inline, size: this.props.size, skipLinking: true, weight: "bold" }, this.props.text)),
|
|
97
|
+
Boolean(this.props.text) && (React.createElement(Text, { color: this.getTextColor(color), font: "button", inline: this.props.inline, size: this.props.size, skipLinking: true, weight: "bold" }, this.props.text)),
|
|
98
98
|
(this.state.loading || this.props.loading) && (React.createElement(Box, { marginLeft: 2 },
|
|
99
99
|
React.createElement(ActivityIndicator, { color: this.getTextColor(color), size: "small" })))));
|
|
100
100
|
}
|
package/dist/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,+BAA+B;AAC/B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAMlC,MAAM,eAAe,GAAkD;IACrE,IAAI,EAAE,OAAO;IACb,SAAS,EAAE,UAAU;IACrB,GAAG,EAAE,OAAO;IACZ,WAAW,EAAE,OAAO;IACpB,KAAK,EAAE,UAAU;IACjB,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,OAAO;IAClB,MAAM,EAAE,OAAO;IACf,QAAQ,EAAE,OAAO;IACjB,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,OAAO;CAChB,CAAC;AAEF,MAAM,OAAO,MAAO,SAAQ,KAAK,CAAC,SAAmC;IAArE;;QACE,UAAK,GAAG,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC;QAEzB,YAAO,GAAG;YACR,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;SACP,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"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"}
|
package/dist/Common.d.ts
CHANGED
|
@@ -437,7 +437,7 @@ export interface SpinnerProps {
|
|
|
437
437
|
color?: Color;
|
|
438
438
|
}
|
|
439
439
|
export interface MaskProps {
|
|
440
|
-
children?: React.
|
|
440
|
+
children?: React.ReactElement;
|
|
441
441
|
shape?: "circle" | "rounded" | "square";
|
|
442
442
|
height?: number | string;
|
|
443
443
|
width?: number | string;
|
package/dist/Common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Common.js","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Common.js","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"AAmVA,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAC;AAkBzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAe,EAAE,EAAE;IAClD,OAAO;QACL,EAAE,EAAE,CAAC;QACL,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,EAAE;KACP,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,GAAG,EAAE,EAAY,EAAE;IACtD,IAAI,QAAkB,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,EAAE;QACZ,QAAQ,GAAG,IAAI,CAAC;KACjB;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE;QACpB,QAAQ,GAAG,IAAI,CAAC;KACjB;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE;QACpB,QAAQ,GAAG,IAAI,CAAC;KACjB;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE;QACpB,QAAQ,GAAG,IAAI,CAAC;KACjB;SAAM;QACL,QAAQ,GAAG,IAAI,CAAC;KACjB;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,OAAgE;IAC9F,OAAO,CAAC;QACN,SAAS,EAAE,QAAQ;QACnB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,QAAQ;QAChB,KAAK,EAAE,KAAK;QACZ,cAAc,EAAE,KAAK;QACrB,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE,MAAM;KACjB,CAAC,OAAO,CAAC,IAAI,MAAM,CAAU,CAAC;AACjC,CAAC;AAk7BD,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,OAAO,CACL,OAAO;QACP,OAAO,CAAC,KAAK;QACb,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CACrF,CAAC;AACJ,CAAC"}
|
package/dist/Heading.js
CHANGED
|
@@ -16,7 +16,7 @@ export class Heading extends React.Component {
|
|
|
16
16
|
// if (this.props.bold) {
|
|
17
17
|
// font += "Bold";
|
|
18
18
|
// }
|
|
19
|
-
style.fontFamily = Unifier.theme.
|
|
19
|
+
style.fontFamily = Unifier.theme.titleFont;
|
|
20
20
|
style.fontSize = this.fontSizes[this.props.size || "md"];
|
|
21
21
|
if (this.props.align) {
|
|
22
22
|
style.textAlign = this.props.align;
|
package/dist/Heading.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Heading.js","sourceRoot":"","sources":["../src/Heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,MAAM,OAAO,OAAQ,SAAQ,KAAK,CAAC,SAA2B;IAA9D;;QACE,cAAS,GAAG;YACV,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;SACP,CAAC;IAyCJ,CAAC;IAvCC,YAAY;QACV,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,2CAA2C;QAC3C,yBAAyB;QACzB,oBAAoB;QACpB,IAAI;QACJ,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"Heading.js","sourceRoot":"","sources":["../src/Heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,MAAM,OAAO,OAAQ,SAAQ,KAAK,CAAC,SAA2B;IAA9D;;QACE,cAAS,GAAG;YACV,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;SACP,CAAC;IAyCJ,CAAC;IAvCC,YAAY;QACV,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,2CAA2C;QAC3C,yBAAyB;QACzB,oBAAoB;QACpB,IAAI;QACJ,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC;QAE3C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;QACzD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;SACpC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACpB,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC/C;aAAM;YACL,KAAK,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC;SACtC;QACD,gDAAgD;QAChD,8DAA8D;QAC9D,6BAA6B;QAC7B,IAAI;QAEJ,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM;QACJ,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,kCAAkC;QAClC,sCAAsC;QACtC,kCAAkC;QAClC,eAAe;QACf,IAAI;QACJ,OAAO,CACL,oBAAC,UAAU,IAAC,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,IACzD,IAAI,CAAC,KAAK,CAAC,QAAQ,CACT,CACd,CAAC;IACJ,CAAC;CACF"}
|
package/dist/Mask.d.ts
CHANGED
package/dist/Mask.js
CHANGED
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
//
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
// } else {
|
|
18
|
-
return this.props.children;
|
|
19
|
-
// }
|
|
2
|
+
import { View } from "react-native";
|
|
3
|
+
export function Mask(props) {
|
|
4
|
+
if (props.shape === "rounded") {
|
|
5
|
+
return React.createElement(View, { style: { overflow: "hidden", borderRadius: 12 } }, props.children);
|
|
6
|
+
}
|
|
7
|
+
else if (props.shape === "circle") {
|
|
8
|
+
return React.createElement(View, { style: { overflow: "hidden", borderRadius: 1000 } }, props.children);
|
|
9
|
+
}
|
|
10
|
+
if (props.rounding) {
|
|
11
|
+
const rounding = props.rounding === "circle" ? 100 : props.rounding;
|
|
12
|
+
// Subtract 1 from rounding because of some very odd rendering.
|
|
13
|
+
return (React.createElement(View, { style: { borderRadius: (rounding - 1) * 4, overflow: "visible" } }, props.children));
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
return props.children || null;
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
19
|
//# sourceMappingURL=Mask.js.map
|
package/dist/Mask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Mask.js","sourceRoot":"","sources":["../src/Mask.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Mask.js","sourceRoot":"","sources":["../src/Mask.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAIlC,MAAM,UAAU,IAAI,CAAC,KAAgB;IACnC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,EAAE;QAC7B,OAAO,oBAAC,IAAI,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAC,IAAG,KAAK,CAAC,QAAQ,CAAQ,CAAC;KACrF;SAAM,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;QACnC,OAAO,oBAAC,IAAI,IAAC,KAAK,EAAE,EAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAC,IAAG,KAAK,CAAC,QAAQ,CAAQ,CAAC;KACvF;IACD,IAAI,KAAK,CAAC,QAAQ,EAAE;QAClB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;QACpE,+DAA+D;QAC/D,OAAO,CACL,oBAAC,IAAI,IAAC,KAAK,EAAE,EAAC,YAAY,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAC,IAAG,KAAK,CAAC,QAAQ,CAAQ,CAC9F,CAAC;KACH;SAAM;QACL,OAAO,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC;KAC/B;AACH,CAAC"}
|
package/dist/Text.js
CHANGED
|
@@ -14,7 +14,7 @@ export class Text extends React.Component {
|
|
|
14
14
|
propsToStyle() {
|
|
15
15
|
const style = {};
|
|
16
16
|
let font = "primaryFont";
|
|
17
|
-
if (this.props.font === "primary") {
|
|
17
|
+
if (this.props.font === "primary" || !this.props.font) {
|
|
18
18
|
if (this.props.weight === "bold") {
|
|
19
19
|
font = "primaryBoldFont";
|
|
20
20
|
}
|
package/dist/Text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,IAAI,UAAU,EAAC,MAAM,cAAc,CAAC;AAGhD,OAAO,EAAC,SAAS,EAAC,MAAM,aAAa,CAAC;AACtC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,MAAM,OAAO,IAAK,SAAQ,KAAK,CAAC,SAAwB;IAAxD;;QACE,cAAS,GAAG;YACV,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE;SACP,CAAC;IA8EJ,CAAC;IA5EC,YAAY;QACV,MAAM,KAAK,GAAQ,EAAE,CAAC;QAEtB,IAAI,IAAI,GAQU,aAAa,CAAC;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../src/Text.tsx"],"names":[],"mappings":"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"}
|
package/dist/Unifier.d.ts
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { PermissionKind, UnifiedTheme } from "./Common";
|
|
2
2
|
export declare type PlatformOS = "ios" | "android" | "web";
|
|
3
|
+
declare type Luminance = "light" | "lighter" | "dark" | "darker";
|
|
4
|
+
export declare function changeColorLuminance(hex: string, luminanceChange: Luminance): string;
|
|
3
5
|
declare class UnifierClass {
|
|
4
6
|
private _theme?;
|
|
5
7
|
private _web;
|
|
6
8
|
private _dev;
|
|
7
9
|
get web(): boolean;
|
|
8
10
|
get dev(): boolean;
|
|
11
|
+
private get fontMap();
|
|
12
|
+
private calculateLuminances;
|
|
9
13
|
setTheme(theme: Partial<UnifiedTheme>): void;
|
|
10
14
|
get theme(): UnifiedTheme;
|
|
11
15
|
constructor();
|
|
12
16
|
navigation: {
|
|
13
17
|
dismissOverlay: () => void;
|
|
14
18
|
};
|
|
19
|
+
loadFonts: () => Promise<void>;
|
|
15
20
|
utils: {
|
|
16
21
|
dismissKeyboard: () => void;
|
|
17
22
|
dimensions: () => {
|
|
@@ -19,7 +24,7 @@ declare class UnifierClass {
|
|
|
19
24
|
height: number;
|
|
20
25
|
};
|
|
21
26
|
copyToClipboard: (text: string) => void;
|
|
22
|
-
orientationChange: (callback: (
|
|
27
|
+
orientationChange: (callback: (orientation: "portrait" | "landscape") => void) => void;
|
|
23
28
|
requestPermissions: (_perm: PermissionKind) => Promise<import("./Common").PermissionStatus>;
|
|
24
29
|
makePurchase: () => void;
|
|
25
30
|
PaymentService: () => void;
|
package/dist/Unifier.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
3
3
|
import AsyncStorage from "@react-native-async-storage/async-storage";
|
|
4
|
+
import * as Font from "expo-font";
|
|
4
5
|
import { Clipboard, Dimensions, Keyboard, Linking, Platform, Vibration } from "react-native";
|
|
5
6
|
import ReactNativeHapticFeedback from "react-native-haptic-feedback";
|
|
6
7
|
import { requestPermissions } from "./Permissions";
|
|
8
|
+
function capitalize(string) {
|
|
9
|
+
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
10
|
+
}
|
|
7
11
|
const DEFAULT_FONT = "Cochin";
|
|
8
12
|
const DEFAULT_BOLD_FONT = "Cochin";
|
|
9
13
|
const DefaultTheme = {
|
|
@@ -75,6 +79,54 @@ const DefaultTheme = {
|
|
|
75
79
|
buttonFont: DEFAULT_FONT,
|
|
76
80
|
titleFont: DEFAULT_FONT,
|
|
77
81
|
};
|
|
82
|
+
const fontKeys = [
|
|
83
|
+
"primaryFont",
|
|
84
|
+
"primaryBoldFont",
|
|
85
|
+
"secondaryFont",
|
|
86
|
+
"secondaryBoldFont",
|
|
87
|
+
"buttonFont",
|
|
88
|
+
"accentFont",
|
|
89
|
+
"accentBoldFont",
|
|
90
|
+
"titleFont",
|
|
91
|
+
];
|
|
92
|
+
const luminances = ["lighter", "light", "dark", "darker"];
|
|
93
|
+
// Changes a color luminance
|
|
94
|
+
export function changeColorLuminance(hex, luminanceChange) {
|
|
95
|
+
// Validate hex string, strip "#" if present.
|
|
96
|
+
hex = String(hex).replace(/[^0-9a-f]/gi, "");
|
|
97
|
+
if (hex.length === 3) {
|
|
98
|
+
hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
99
|
+
}
|
|
100
|
+
else if (hex.length !== 6) {
|
|
101
|
+
throw new Error(`Invalid color hex: ${hex}`);
|
|
102
|
+
}
|
|
103
|
+
let luminance;
|
|
104
|
+
switch (luminanceChange) {
|
|
105
|
+
case "light":
|
|
106
|
+
luminance = -0.2;
|
|
107
|
+
break;
|
|
108
|
+
case "lighter":
|
|
109
|
+
luminance = -0.33;
|
|
110
|
+
break;
|
|
111
|
+
case "dark":
|
|
112
|
+
luminance = 0.2;
|
|
113
|
+
break;
|
|
114
|
+
case "darker":
|
|
115
|
+
luminance = 0.33;
|
|
116
|
+
break;
|
|
117
|
+
default:
|
|
118
|
+
throw new Error(`Cannot change luminance to ${luminanceChange}`);
|
|
119
|
+
}
|
|
120
|
+
// Convert to decimal and change luminosity
|
|
121
|
+
let rgb = "#";
|
|
122
|
+
for (let i = 0; i < 3; i++) {
|
|
123
|
+
const decimal = parseInt(hex.substr(i * 2, 2), 16);
|
|
124
|
+
const appliedLuminance = Math.round(Math.min(Math.max(0, decimal + decimal * luminance), 255)).toString(16);
|
|
125
|
+
// 0 pad, if necessary.
|
|
126
|
+
rgb += `00${appliedLuminance}`.substr(appliedLuminance.length);
|
|
127
|
+
}
|
|
128
|
+
return rgb;
|
|
129
|
+
}
|
|
78
130
|
class UnifierClass {
|
|
79
131
|
constructor() {
|
|
80
132
|
this._web = false;
|
|
@@ -84,6 +136,14 @@ class UnifierClass {
|
|
|
84
136
|
console.warn("Dismiss overlay not supported.");
|
|
85
137
|
},
|
|
86
138
|
};
|
|
139
|
+
this.loadFonts = async () => {
|
|
140
|
+
try {
|
|
141
|
+
await Font.loadAsync(this.fontMap);
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
console.error(`[unifier] Fonts failed to load: ${err}`);
|
|
145
|
+
}
|
|
146
|
+
};
|
|
87
147
|
// tracking: Tracking,
|
|
88
148
|
this.utils = {
|
|
89
149
|
dismissKeyboard: () => {
|
|
@@ -181,7 +241,35 @@ class UnifierClass {
|
|
|
181
241
|
get dev() {
|
|
182
242
|
return this._dev;
|
|
183
243
|
}
|
|
244
|
+
get fontMap() {
|
|
245
|
+
const fontMap = {};
|
|
246
|
+
for (const key of fontKeys) {
|
|
247
|
+
if (typeof this.theme[key] === "string") {
|
|
248
|
+
fontMap[key] = key;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
fontMap[this.theme[key].name] = this.theme[key].source;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
return fontMap;
|
|
255
|
+
}
|
|
256
|
+
// If the theme only has e.g. "primary" set, calculate the primaryLighter, primaryLight, etc based on that color.
|
|
257
|
+
calculateLuminances(theme, color) {
|
|
258
|
+
if (!theme[color]) {
|
|
259
|
+
return;
|
|
260
|
+
}
|
|
261
|
+
for (const luminance of luminances) {
|
|
262
|
+
const capitalized = capitalize(luminance);
|
|
263
|
+
if (!theme[`${color}${capitalized}`] && theme[color]) {
|
|
264
|
+
theme[`${color}${capitalized}`] = changeColorLuminance(theme[color], luminance);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
184
268
|
setTheme(theme) {
|
|
269
|
+
Unifier.calculateLuminances(theme, "primary");
|
|
270
|
+
Unifier.calculateLuminances(theme, "secondary");
|
|
271
|
+
Unifier.calculateLuminances(theme, "accent");
|
|
272
|
+
Unifier.calculateLuminances(theme, "tertiary");
|
|
185
273
|
this._theme = theme;
|
|
186
274
|
}
|
|
187
275
|
get theme() {
|
package/dist/Unifier.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Unifier.js","sourceRoot":"","sources":["../src/Unifier.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Unifier.js","sourceRoot":"","sources":["../src/Unifier.ts"],"names":[],"mappings":"AAAA,sDAAsD;AACtD,yDAAyD;AAEzD,OAAO,YAAY,MAAM,2CAA2C,CAAC;AACrE,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAC3F,OAAO,yBAAyB,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAEjD,SAAS,UAAU,CAAC,MAAc;IAChC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,YAAY,GAAG,QAAQ,CAAC;AAC9B,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAEnC,MAAM,YAAY,GAAiB;IACjC,iBAAiB;IACjB,GAAG,EAAE,SAAS;IACd,KAAK,EAAE,SAAS;IAChB,SAAS,EAAE,SAAS;IACpB,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,MAAM;IAChB,mBAAmB;IACnB,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,MAAM,EAAE,SAAS;IACjB,KAAK,EAAE,SAAS;IAEhB,cAAc,EAAE,SAAS;IACzB,YAAY,EAAE,SAAS;IACvB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,SAAS;IAExB,gBAAgB,EAAE,SAAS;IAC3B,cAAc,EAAE,SAAS;IACzB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,SAAS;IAE1B,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE,SAAS;IACtB,MAAM,EAAE,SAAS;IACjB,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,SAAS;IAEvB,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,SAAS;IACxB,QAAQ,EAAE,SAAS;IACnB,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,SAAS;IAEzB,+BAA+B;IAC/B,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,UAAU,EAAE,SAAS;IACrB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,SAAS;IAEpB,WAAW,EAAE,YAAY;IACzB,eAAe,EAAE,iBAAiB;IAElC,aAAa,EAAE,YAAY;IAC3B,iBAAiB,EAAE,iBAAiB;IAEpC,UAAU,EAAE,YAAY;IACxB,cAAc,EAAE,iBAAiB;IAEjC,UAAU,EAAE,YAAY;IACxB,SAAS,EAAE,YAAY;CACxB,CAAC;AAIF,MAAM,QAAQ,GAAG;IACf,aAAa;IACb,iBAAiB;IACjB,eAAe;IACf,mBAAmB;IACnB,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,WAAW;CACZ,CAAC;AAGF,MAAM,UAAU,GAAgB,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAEvE,4BAA4B;AAC5B,MAAM,UAAU,oBAAoB,CAAC,GAAW,EAAE,eAA0B;IAC1E,6CAA6C;IAC7C,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QACpB,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KAC3D;SAAM,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;KAC9C;IACD,IAAI,SAAS,CAAC;IACd,QAAQ,eAAe,EAAE;QACvB,KAAK,OAAO;YACV,SAAS,GAAG,CAAC,GAAG,CAAC;YACjB,MAAM;QACR,KAAK,SAAS;YACZ,SAAS,GAAG,CAAC,IAAI,CAAC;YAClB,MAAM;QACR,KAAK,MAAM;YACT,SAAS,GAAG,GAAG,CAAC;YAChB,MAAM;QACR,KAAK,QAAQ;YACX,SAAS,GAAG,IAAI,CAAC;YACjB,MAAM;QACR;YACE,MAAM,IAAI,KAAK,CAAC,8BAA8B,eAAe,EAAE,CAAC,CAAC;KACpE;IAED,2CAA2C;IAC3C,IAAI,GAAG,GAAG,GAAG,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QAC1B,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CACjC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC,EAAE,GAAG,CAAC,CAC1D,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACf,uBAAuB;QACvB,GAAG,IAAI,KAAK,gBAAgB,EAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;KAChE;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,YAAY;IAmGhB;QAhGQ,SAAI,GAAG,KAAK,CAAC;QAEb,SAAI,GAAG,KAAK,CAAC;QAkGrB,eAAU,GAAG;YACX,cAAc,EAAE,GAAG,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YACjD,CAAC;SACF,CAAC;QAEF,cAAS,GAAG,KAAK,IAAI,EAAE;YACrB,IAAI;gBACF,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpC;YAAC,OAAO,GAAG,EAAE;gBACZ,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;aACzD;QACH,CAAC,CAAC;QAEF,sBAAsB;QACtB,UAAK,GAAG;YACN,eAAe,EAAE,GAAG,EAAE;gBACpB,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;YACD,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;gBACjB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK;gBACrC,MAAM,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM;aACxC,CAAC;YACF,eAAe,EAAE,CAAC,IAAY,EAAE,EAAE;gBAChC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YACD,iBAAiB,EAAE,CAAC,QAAyD,EAAE,EAAE;gBAC/E,UAAU,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACzC,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACxC,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;oBAChD,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;gBAClD,CAAC,CAAC,CAAC;YACL,CAAC;YACD,kBAAkB,EAAE,KAAK,EAAE,KAAqB,EAAE,EAAE;gBAClD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACjC,mCAAmC;YACrC,CAAC;YACD,YAAY,EAAE,GAAG,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACnD,CAAC;YACD,cAAc,EAAE,GAAG,EAAE;gBACnB,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,EAAE,CAAC,OAAkB,EAAE,EAAE;gBAC9B,SAAS,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,MAAM,OAAO,GAAG;oBACd,qBAAqB,EAAE,IAAI;oBAC3B,2BAA2B,EAAE,KAAK;iBACnC,CAAC;gBACF,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE;oBACzB,yBAAyB,CAAC,OAAO,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;iBAC3D;YACH,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,EAAE;gBAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,CAAC;SAQF,CAAC;QAEF,YAAO,GAAG;YACR,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,YAAkB,EAAE,EAAE;gBACjD,IAAI;oBACF,MAAM,SAAS,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBAClD,IAAI,SAAS,EAAE;wBACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;wBACpC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;4BACzC,OAAO,YAAY,CAAC;yBACrB;6BAAM;4BACL,OAAO,KAAK,CAAC;yBACd;qBACF;yBAAM,IAAI,YAAY,KAAK,SAAS,EAAE;wBACrC,OAAO,YAAY,CAAC;qBACrB;yBAAM;wBACL,OAAO,IAAI,CAAC;qBACb;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC;oBACnD,OAAO,YAAY,IAAI,IAAI,CAAC;iBAC7B;YACH,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,IAAS,EAAE,EAAE;gBACxC,IAAI;oBACF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;oBACvC,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;iBAC5C;gBAAC,OAAO,CAAC,EAAE;oBACV,OAAO,CAAC,KAAK,CAAC,2BAA2B,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;oBACzD,MAAM,IAAI,KAAK,CAAC,CAAQ,CAAC,CAAC;iBAC3B;YACH,CAAC;SACF,CAAC;QAEF,aAAQ,GAAG;YACT,GAAG,EAAE,CAAC,OAAe,EAAE,EAAE;gBACvB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;SACF,CAAC;QAEF,cAAS,GAAG,GAAG,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAChD,CAAC,CAAC;QA9GA,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAChD,CAAC;IA9FD,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IAAY,OAAO;QACjB,MAAM,OAAO,GAA+B,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE;YAC1B,IAAI,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE;gBACvC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;aACpB;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;aACxD;SACF;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,iHAAiH;IACzG,mBAAmB,CACzB,KAA4B,EAC5B,KAAsD;QAEtD,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACjB,OAAO;SACR;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,WAAW,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,WAAW,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;gBACpD,KAAK,CAAC,GAAG,KAAK,GAAG,WAAW,EAAE,CAAC,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAW,EAAE,SAAS,CAAC,CAAC;aAC3F;SACF;IACH,CAAC;IAED,QAAQ,CAAC,KAA4B;QACnC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAC9C,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAChD,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAC7C,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,KAAK;;QACP,uCACK,YAAY;YACf,qBAAqB;YACrB,cAAc,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,YAAI,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAA,IAAI,YAAY,CAAC,OAAO,EAC3F,YAAY,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,YAAI,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAA,IAAI,YAAY,CAAC,OAAO,EACvF,OAAO,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,OAAO,YAAI,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAA,IAAI,YAAY,CAAC,OAAO,EAC7E,WAAW,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,YAAI,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAA,IAAI,YAAY,CAAC,OAAO,EACrF,aAAa,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,YAAI,IAAI,CAAC,MAAM,0CAAE,OAAO,CAAA,IAAI,YAAY,CAAC,OAAO,EAEzF,gBAAgB,EACd,OAAA,IAAI,CAAC,MAAM,0CAAE,gBAAgB,YAAI,IAAI,CAAC,MAAM,0CAAE,SAAS,CAAA,IAAI,YAAY,CAAC,SAAS,EACnF,cAAc,EACZ,OAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,YAAI,IAAI,CAAC,MAAM,0CAAE,SAAS,CAAA,IAAI,YAAY,CAAC,SAAS,EACjF,SAAS,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,YAAI,IAAI,CAAC,MAAM,0CAAE,SAAS,CAAA,IAAI,YAAY,CAAC,SAAS,EACrF,aAAa,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,YAAI,IAAI,CAAC,MAAM,0CAAE,SAAS,CAAA,IAAI,YAAY,CAAC,SAAS,EAC7F,eAAe,EACb,OAAA,IAAI,CAAC,MAAM,0CAAE,eAAe,YAAI,IAAI,CAAC,MAAM,0CAAE,SAAS,CAAA,IAAI,YAAY,CAAC,SAAS,EAElF,aAAa,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,YAAI,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EACvF,WAAW,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,YAAI,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EACnF,MAAM,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,MAAM,YAAI,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EACzE,UAAU,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,UAAU,YAAI,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EACjF,YAAY,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,YAAY,YAAI,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EAErF,eAAe,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,eAAe,YAAI,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EAC3F,aAAa,EAAE,OAAA,IAAI,CAAC,MAAM,0CAAE,aAAa,YAAI,IAAI,CAAC,MAAM,0CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EACvF,QAAQ,EAAE,QAAA,IAAI,CAAC,MAAM,4CAAE,QAAQ,aAAI,IAAI,CAAC,MAAM,4CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EAC7E,YAAY,EAAE,QAAA,IAAI,CAAC,MAAM,4CAAE,YAAY,aAAI,IAAI,CAAC,MAAM,4CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EACrF,cAAc,EAAE,QAAA,IAAI,CAAC,MAAM,4CAAE,cAAc,aAAI,IAAI,CAAC,MAAM,4CAAE,MAAM,CAAA,IAAI,YAAY,CAAC,MAAM,EAEzF,WAAW,EAAE,QAAA,IAAI,CAAC,MAAM,4CAAE,WAAW,KAAI,YAAY,CAAC,WAAW,EACjE,eAAe,EACb,QAAA,IAAI,CAAC,MAAM,4CAAE,eAAe,aAAI,IAAI,CAAC,MAAM,4CAAE,WAAW,CAAA,IAAI,YAAY,CAAC,eAAe,EAC1F,aAAa,EACX,QAAA,IAAI,CAAC,MAAM,4CAAE,aAAa,aAAI,IAAI,CAAC,MAAM,4CAAE,WAAW,CAAA,IAAI,YAAY,CAAC,aAAa,EACtF,iBAAiB,EACf,QAAA,IAAI,CAAC,MAAM,4CAAE,iBAAiB,aAC9B,IAAI,CAAC,MAAM,4CAAE,WAAW,CAAA;gBACxB,YAAY,CAAC,iBAAiB,EAChC,UAAU,EAAE,QAAA,IAAI,CAAC,MAAM,4CAAE,UAAU,aAAI,IAAI,CAAC,MAAM,4CAAE,WAAW,CAAA,IAAI,YAAY,CAAC,UAAU,EAC1F,UAAU,EAAE,QAAA,IAAI,CAAC,MAAM,4CAAE,UAAU,aAAI,IAAI,CAAC,MAAM,4CAAE,WAAW,CAAA,IAAI,YAAY,CAAC,UAAU,EAC1F,cAAc,EACZ,QAAA,IAAI,CAAC,MAAM,4CAAE,cAAc,aAAI,IAAI,CAAC,MAAM,4CAAE,WAAW,CAAA,IAAI,YAAY,CAAC,cAAc,EACxF,SAAS,EAAE,QAAA,IAAI,CAAC,MAAM,4CAAE,SAAS,aAAI,IAAI,CAAC,MAAM,4CAAE,WAAW,CAAA,IAAI,YAAY,CAAC,SAAS,IACvF;IACJ,CAAC;CAkHF;AAED,MAAM,oBAAoB,GAAG,2BAA2B,CAAC;AAEzD,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,4BAA4B;AAC5B,4BAA4B;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,2BAA2B;AAE3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,2BAA2B;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,QAAQ,CAAC;AACvB,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,4BAA4B;AAC5B,4BAA4B;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,2BAA2B;AAE3B,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,2BAA2B;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ferns-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"local": "tsc-watch --onSuccess \"cp -a dist/* ../
|
|
7
|
+
"local": "tsc-watch --onSuccess \"cp -a dist/* ../flourish/node_modules/ferns-ui/dist\"",
|
|
8
8
|
"lint": "eslint \"src/**/*.ts*\"",
|
|
9
9
|
"lintfix": "eslint --fix \"src/**/*.ts*\"",
|
|
10
10
|
"build": "tsc",
|
|
11
|
-
"dev": "tsc -w"
|
|
11
|
+
"dev": "tsc -w",
|
|
12
|
+
"deps": "node checkDeps.js"
|
|
12
13
|
},
|
|
13
14
|
"babel": {
|
|
14
15
|
"presets": [
|
|
@@ -119,8 +120,8 @@
|
|
|
119
120
|
"tsc-watch": "^5.0.3"
|
|
120
121
|
},
|
|
121
122
|
"devDependencies": {
|
|
122
|
-
"@expo/vector-icons": "^
|
|
123
|
-
"@react-native-async-storage/async-storage": "^1.
|
|
123
|
+
"@expo/vector-icons": "^12.0.0",
|
|
124
|
+
"@react-native-async-storage/async-storage": "^1.15.0",
|
|
124
125
|
"@react-native-community/blur": "^3.6.0",
|
|
125
126
|
"@react-native-community/datetimepicker": "^5.1.0",
|
|
126
127
|
"@react-native-picker/picker": "^2.2.1",
|
|
@@ -142,7 +143,7 @@
|
|
|
142
143
|
"eslint-plugin-react-hooks": "^4.5.0",
|
|
143
144
|
"eslint-plugin-react-native": "^4.0.0",
|
|
144
145
|
"eslint-plugin-simple-import-sort": "^7.0.0",
|
|
145
|
-
"expo-font": "^10.
|
|
146
|
+
"expo-font": "^10.0.5",
|
|
146
147
|
"lodash": "^4.17.21",
|
|
147
148
|
"mixpanel-browser": "^2.38.0",
|
|
148
149
|
"moment-timezone": "^0.5.34",
|
|
@@ -153,7 +154,7 @@
|
|
|
153
154
|
"react-dev-utils": "^11.0.4",
|
|
154
155
|
"react-dom": "17.0.2",
|
|
155
156
|
"react-native": "^0.64.3",
|
|
156
|
-
"react-native-gesture-handler": "^1.
|
|
157
|
+
"react-native-gesture-handler": "^2.1.0",
|
|
157
158
|
"react-native-haptic-feedback": "^1.10.0",
|
|
158
159
|
"react-native-modalize": "^2.0.12",
|
|
159
160
|
"react-native-navigation": "^6.12.0",
|
|
@@ -167,13 +168,13 @@
|
|
|
167
168
|
},
|
|
168
169
|
"peerDependencies": {
|
|
169
170
|
"@expo/vector-icons": "^12.0.0",
|
|
170
|
-
"@react-native-async-storage/async-storage": "^1.
|
|
171
|
+
"@react-native-async-storage/async-storage": "^1.15.0",
|
|
171
172
|
"@react-native-community/blur": "^3.6.0",
|
|
172
|
-
"@react-native-community/datetimepicker": "^
|
|
173
|
+
"@react-native-community/datetimepicker": "^5.1.0",
|
|
173
174
|
"@react-native-picker/picker": "^2.2.1",
|
|
174
|
-
"@sentry/browser": "^
|
|
175
|
-
"@sentry/react": "^
|
|
176
|
-
"@sentry/react-native": "^
|
|
175
|
+
"@sentry/browser": "^6.19.7",
|
|
176
|
+
"@sentry/react": "^6.19.7",
|
|
177
|
+
"@sentry/react-native": "^3.4.2",
|
|
177
178
|
"expo-font": "^10.0.5",
|
|
178
179
|
"lodash": "^4.17.21",
|
|
179
180
|
"mixpanel-browser": "^2.38.0",
|
|
@@ -184,7 +185,7 @@
|
|
|
184
185
|
"react-dev-utils": "^11.0.4",
|
|
185
186
|
"react-dom": "17.0.2",
|
|
186
187
|
"react-native": "^0.64.3",
|
|
187
|
-
"react-native-gesture-handler": "^1.
|
|
188
|
+
"react-native-gesture-handler": "^2.1.0",
|
|
188
189
|
"react-native-haptic-feedback": "^1.10.0",
|
|
189
190
|
"react-native-modalize": "^2.0.12",
|
|
190
191
|
"react-native-navigation": "^6.12.0",
|
package/src/Avatar.tsx
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import React, {useState} from "react";
|
|
2
|
+
import {Image, Text, View} from "react-native";
|
|
3
|
+
|
|
4
|
+
import {Box} from "./Box";
|
|
5
|
+
import {Unifier} from "./Unifier";
|
|
6
|
+
|
|
7
|
+
const sizes = {
|
|
8
|
+
xs: 24,
|
|
9
|
+
sm: 32,
|
|
10
|
+
md: 48,
|
|
11
|
+
lg: 64,
|
|
12
|
+
xl: 120,
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
interface AvatarProps {
|
|
16
|
+
/**
|
|
17
|
+
* The name of the user. This is used for the placeholder treatment if an image is not available.
|
|
18
|
+
*/
|
|
19
|
+
name: string;
|
|
20
|
+
/**
|
|
21
|
+
* Override the generated initials from `name`.
|
|
22
|
+
*/
|
|
23
|
+
initials?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Adds a white border around Avatar so it's visible when displayed on other images.
|
|
26
|
+
*/
|
|
27
|
+
outline?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* xs: 24px, sm: 32px, md: 48px, lg: 64px, xl: 120px.
|
|
30
|
+
*/
|
|
31
|
+
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
32
|
+
/**
|
|
33
|
+
* The URL of the user's image.
|
|
34
|
+
*/
|
|
35
|
+
src?: string;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export const Avatar = (props: AvatarProps): React.ReactElement => {
|
|
39
|
+
const [isImageLoaded, setIsImageLoaded] = useState(true);
|
|
40
|
+
const {name, initials, outline, size = "md", src} = props;
|
|
41
|
+
const width = sizes[size];
|
|
42
|
+
const height = sizes[size];
|
|
43
|
+
const radius = sizes[size] / 2;
|
|
44
|
+
const fontSize = sizes[size] / 2;
|
|
45
|
+
const computedInitials =
|
|
46
|
+
initials ??
|
|
47
|
+
(name.match(/(^\S\S?|\s\S)?/g) as any)
|
|
48
|
+
.map((v: string) => v.trim())
|
|
49
|
+
.join("")
|
|
50
|
+
.match(/(^\S|\S$)?/g)
|
|
51
|
+
.join("")
|
|
52
|
+
.toLocaleUpperCase();
|
|
53
|
+
|
|
54
|
+
const handleImageError = () => setIsImageLoaded(false);
|
|
55
|
+
return (
|
|
56
|
+
<Box
|
|
57
|
+
border={outline ? "white" : undefined}
|
|
58
|
+
height={height}
|
|
59
|
+
overflow="hidden"
|
|
60
|
+
position="relative"
|
|
61
|
+
rounding="circle"
|
|
62
|
+
width={width}
|
|
63
|
+
>
|
|
64
|
+
{src && isImageLoaded ? (
|
|
65
|
+
// TODO: Make our Image component rounding work so that we can use it for Avatar. Currently it creates an
|
|
66
|
+
// unrounded box around the Image.
|
|
67
|
+
<Image
|
|
68
|
+
resizeMode="contain"
|
|
69
|
+
source={{uri: src, cache: "force-cache"}}
|
|
70
|
+
style={{
|
|
71
|
+
borderRadius: radius,
|
|
72
|
+
height,
|
|
73
|
+
width,
|
|
74
|
+
display: "flex",
|
|
75
|
+
alignItems: "center",
|
|
76
|
+
justifyContent: "center",
|
|
77
|
+
overflow: "hidden",
|
|
78
|
+
}}
|
|
79
|
+
onError={handleImageError}
|
|
80
|
+
/>
|
|
81
|
+
) : (
|
|
82
|
+
<View
|
|
83
|
+
style={{
|
|
84
|
+
height,
|
|
85
|
+
width,
|
|
86
|
+
borderRadius: radius,
|
|
87
|
+
display: "flex",
|
|
88
|
+
alignItems: "center",
|
|
89
|
+
justifyContent: "center",
|
|
90
|
+
backgroundColor: Unifier.theme.gray,
|
|
91
|
+
}}
|
|
92
|
+
>
|
|
93
|
+
<Text style={{fontSize, color: Unifier.theme.darkGray}}>{computedInitials}</Text>
|
|
94
|
+
</View>
|
|
95
|
+
)}
|
|
96
|
+
</Box>
|
|
97
|
+
);
|
|
98
|
+
};
|
package/src/Button.tsx
CHANGED
|
@@ -38,11 +38,11 @@ export class Button extends React.Component<ButtonProps, ButtonState> {
|
|
|
38
38
|
lg: 48,
|
|
39
39
|
};
|
|
40
40
|
|
|
41
|
-
getBackgroundColor(color: string) {
|
|
41
|
+
getBackgroundColor(color: string): string {
|
|
42
42
|
if (this.props.type === "ghost" || this.props.type === "outline") {
|
|
43
43
|
return "transparent";
|
|
44
44
|
} else {
|
|
45
|
-
return Unifier.theme[color as keyof UnifiedTheme];
|
|
45
|
+
return Unifier.theme[color as keyof UnifiedTheme] as string;
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
|
|
@@ -120,6 +120,7 @@ export class Button extends React.Component<ButtonProps, ButtonState> {
|
|
|
120
120
|
{Boolean(this.props.text) && (
|
|
121
121
|
<Text
|
|
122
122
|
color={this.getTextColor(color as Color)}
|
|
123
|
+
font="button"
|
|
123
124
|
inline={this.props.inline}
|
|
124
125
|
size={this.props.size}
|
|
125
126
|
skipLinking
|
package/src/Common.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import {FontSource} from "expo-font";
|
|
1
2
|
import {SyntheticEvent} from "react";
|
|
2
3
|
|
|
3
4
|
import {SelectListOptions} from "./SelectList";
|
|
@@ -776,7 +777,7 @@ export interface SpinnerProps {
|
|
|
776
777
|
}
|
|
777
778
|
|
|
778
779
|
export interface MaskProps {
|
|
779
|
-
children?: React.
|
|
780
|
+
children?: React.ReactElement;
|
|
780
781
|
shape?: "circle" | "rounded" | "square";
|
|
781
782
|
height?: number | string;
|
|
782
783
|
width?: number | string;
|
package/src/Heading.tsx
CHANGED
|
@@ -18,7 +18,7 @@ export class Heading extends React.Component<HeadingProps, {}> {
|
|
|
18
18
|
// if (this.props.bold) {
|
|
19
19
|
// font += "Bold";
|
|
20
20
|
// }
|
|
21
|
-
style.fontFamily = Unifier.theme.
|
|
21
|
+
style.fontFamily = Unifier.theme.titleFont;
|
|
22
22
|
|
|
23
23
|
style.fontSize = this.fontSizes[this.props.size || "md"];
|
|
24
24
|
if (this.props.align) {
|
package/src/Mask.tsx
CHANGED
|
@@ -1,24 +1,21 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
+
import {View} from "react-native";
|
|
2
3
|
|
|
3
4
|
import {MaskProps} from "./Common";
|
|
4
5
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
//
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
// );
|
|
20
|
-
// } else {
|
|
21
|
-
return this.props.children;
|
|
22
|
-
// }
|
|
6
|
+
export function Mask(props: MaskProps): React.ReactElement | null {
|
|
7
|
+
if (props.shape === "rounded") {
|
|
8
|
+
return <View style={{overflow: "hidden", borderRadius: 12}}>{props.children}</View>;
|
|
9
|
+
} else if (props.shape === "circle") {
|
|
10
|
+
return <View style={{overflow: "hidden", borderRadius: 1000}}>{props.children}</View>;
|
|
11
|
+
}
|
|
12
|
+
if (props.rounding) {
|
|
13
|
+
const rounding = props.rounding === "circle" ? 100 : props.rounding;
|
|
14
|
+
// Subtract 1 from rounding because of some very odd rendering.
|
|
15
|
+
return (
|
|
16
|
+
<View style={{borderRadius: (rounding - 1) * 4, overflow: "visible"}}>{props.children}</View>
|
|
17
|
+
);
|
|
18
|
+
} else {
|
|
19
|
+
return props.children || null;
|
|
23
20
|
}
|
|
24
21
|
}
|
package/src/Text.tsx
CHANGED
|
@@ -24,7 +24,7 @@ export class Text extends React.Component<TextProps, {}> {
|
|
|
24
24
|
| "accentFont"
|
|
25
25
|
| "accentBoldFont"
|
|
26
26
|
| "titleFont" = "primaryFont";
|
|
27
|
-
if (this.props.font === "primary") {
|
|
27
|
+
if (this.props.font === "primary" || !this.props.font) {
|
|
28
28
|
if (this.props.weight === "bold") {
|
|
29
29
|
font = "primaryBoldFont";
|
|
30
30
|
} else {
|
package/src/Unifier.ts
CHANGED
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
3
3
|
|
|
4
4
|
import AsyncStorage from "@react-native-async-storage/async-storage";
|
|
5
|
+
import * as Font from "expo-font";
|
|
6
|
+
import {FontSource} from "expo-font";
|
|
5
7
|
import {Clipboard, Dimensions, Keyboard, Linking, Platform, Vibration} from "react-native";
|
|
6
8
|
import ReactNativeHapticFeedback from "react-native-haptic-feedback";
|
|
7
9
|
|
|
8
10
|
import {PermissionKind, UnifiedTheme} from "./Common";
|
|
9
11
|
import {requestPermissions} from "./Permissions";
|
|
10
12
|
|
|
13
|
+
function capitalize(string: string) {
|
|
14
|
+
return string.charAt(0).toUpperCase() + string.slice(1);
|
|
15
|
+
}
|
|
16
|
+
|
|
11
17
|
const DEFAULT_FONT = "Cochin";
|
|
12
18
|
const DEFAULT_BOLD_FONT = "Cochin";
|
|
13
19
|
|
|
@@ -92,6 +98,61 @@ const DefaultTheme: UnifiedTheme = {
|
|
|
92
98
|
|
|
93
99
|
export type PlatformOS = "ios" | "android" | "web";
|
|
94
100
|
|
|
101
|
+
const fontKeys = [
|
|
102
|
+
"primaryFont",
|
|
103
|
+
"primaryBoldFont",
|
|
104
|
+
"secondaryFont",
|
|
105
|
+
"secondaryBoldFont",
|
|
106
|
+
"buttonFont",
|
|
107
|
+
"accentFont",
|
|
108
|
+
"accentBoldFont",
|
|
109
|
+
"titleFont",
|
|
110
|
+
];
|
|
111
|
+
|
|
112
|
+
type Luminance = "light" | "lighter" | "dark" | "darker";
|
|
113
|
+
const luminances: Luminance[] = ["lighter", "light", "dark", "darker"];
|
|
114
|
+
|
|
115
|
+
// Changes a color luminance
|
|
116
|
+
export function changeColorLuminance(hex: string, luminanceChange: Luminance) {
|
|
117
|
+
// Validate hex string, strip "#" if present.
|
|
118
|
+
hex = String(hex).replace(/[^0-9a-f]/gi, "");
|
|
119
|
+
if (hex.length === 3) {
|
|
120
|
+
hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];
|
|
121
|
+
} else if (hex.length !== 6) {
|
|
122
|
+
throw new Error(`Invalid color hex: ${hex}`);
|
|
123
|
+
}
|
|
124
|
+
let luminance;
|
|
125
|
+
switch (luminanceChange) {
|
|
126
|
+
case "light":
|
|
127
|
+
luminance = -0.2;
|
|
128
|
+
break;
|
|
129
|
+
case "lighter":
|
|
130
|
+
luminance = -0.33;
|
|
131
|
+
break;
|
|
132
|
+
case "dark":
|
|
133
|
+
luminance = 0.2;
|
|
134
|
+
break;
|
|
135
|
+
case "darker":
|
|
136
|
+
luminance = 0.33;
|
|
137
|
+
break;
|
|
138
|
+
default:
|
|
139
|
+
throw new Error(`Cannot change luminance to ${luminanceChange}`);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// Convert to decimal and change luminosity
|
|
143
|
+
let rgb = "#";
|
|
144
|
+
for (let i = 0; i < 3; i++) {
|
|
145
|
+
const decimal = parseInt(hex.substr(i * 2, 2), 16);
|
|
146
|
+
const appliedLuminance = Math.round(
|
|
147
|
+
Math.min(Math.max(0, decimal + decimal * luminance), 255)
|
|
148
|
+
).toString(16);
|
|
149
|
+
// 0 pad, if necessary.
|
|
150
|
+
rgb += `00${appliedLuminance}`.substr(appliedLuminance.length);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
return rgb;
|
|
154
|
+
}
|
|
155
|
+
|
|
95
156
|
class UnifierClass {
|
|
96
157
|
private _theme?: Partial<UnifiedTheme>;
|
|
97
158
|
|
|
@@ -107,7 +168,39 @@ class UnifierClass {
|
|
|
107
168
|
return this._dev;
|
|
108
169
|
}
|
|
109
170
|
|
|
171
|
+
private get fontMap() {
|
|
172
|
+
const fontMap: {[id: string]: FontSource} = {};
|
|
173
|
+
for (const key of fontKeys) {
|
|
174
|
+
if (typeof this.theme[key] === "string") {
|
|
175
|
+
fontMap[key] = key;
|
|
176
|
+
} else {
|
|
177
|
+
fontMap[this.theme[key].name] = this.theme[key].source;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
return fontMap;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// If the theme only has e.g. "primary" set, calculate the primaryLighter, primaryLight, etc based on that color.
|
|
184
|
+
private calculateLuminances(
|
|
185
|
+
theme: Partial<UnifiedTheme>,
|
|
186
|
+
color: "primary" | "secondary" | "accent" | "tertiary"
|
|
187
|
+
) {
|
|
188
|
+
if (!theme[color]) {
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
for (const luminance of luminances) {
|
|
192
|
+
const capitalized = capitalize(luminance);
|
|
193
|
+
if (!theme[`${color}${capitalized}`] && theme[color]) {
|
|
194
|
+
theme[`${color}${capitalized}`] = changeColorLuminance(theme[color] as string, luminance);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
110
199
|
setTheme(theme: Partial<UnifiedTheme>) {
|
|
200
|
+
Unifier.calculateLuminances(theme, "primary");
|
|
201
|
+
Unifier.calculateLuminances(theme, "secondary");
|
|
202
|
+
Unifier.calculateLuminances(theme, "accent");
|
|
203
|
+
Unifier.calculateLuminances(theme, "tertiary");
|
|
111
204
|
this._theme = theme;
|
|
112
205
|
}
|
|
113
206
|
|
|
@@ -169,6 +262,14 @@ class UnifierClass {
|
|
|
169
262
|
},
|
|
170
263
|
};
|
|
171
264
|
|
|
265
|
+
loadFonts = async () => {
|
|
266
|
+
try {
|
|
267
|
+
await Font.loadAsync(this.fontMap);
|
|
268
|
+
} catch (err) {
|
|
269
|
+
console.error(`[unifier] Fonts failed to load: ${err}`);
|
|
270
|
+
}
|
|
271
|
+
};
|
|
272
|
+
|
|
172
273
|
// tracking: Tracking,
|
|
173
274
|
utils = {
|
|
174
275
|
dismissKeyboard: () => {
|
|
@@ -181,7 +282,7 @@ class UnifierClass {
|
|
|
181
282
|
copyToClipboard: (text: string) => {
|
|
182
283
|
Clipboard.setString(text);
|
|
183
284
|
},
|
|
184
|
-
orientationChange: (callback: (
|
|
285
|
+
orientationChange: (callback: (orientation: "portrait" | "landscape") => void) => {
|
|
185
286
|
Dimensions.addEventListener("change", () => {
|
|
186
287
|
const screen = Dimensions.get("screen");
|
|
187
288
|
const isPortrait = screen.width < screen.height;
|