ferns-ui 0.4.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/dist/Button.js +1 -1
- package/dist/Button.js.map +1 -1
- package/dist/Common.js.map +1 -1
- package/dist/Heading.js +1 -1
- package/dist/Heading.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/package.json +1 -1
- package/src/Button.tsx +3 -2
- package/src/Common.ts +1 -0
- package/src/Heading.tsx +1 -1
- package/src/Text.tsx +1 -1
- package/src/Unifier.ts +102 -1
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":"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;IAqGJ,CAAC;IAnGC,kBAAkB,CAAC,KAAa;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAChE,OAAO,aAAa,CAAC;SACtB;aAAM;YACL,OAAO,OAAO,CAAC,KAAK,CAAC,KAA2B,CAAW,CAAC;SAC7D;IACH,CAAC;IAED,YAAY,CAAC,KAAY;QACvB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YAChE,OAAO,KAAK,CAAC;SACd;aAAM,IAAI,KAAK,KAAK,SAAS,EAAE;YAC9B,OAAO,UAAU,CAAC;SACnB;aAAM;YACL,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC;SAC1C;IACH,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YACjC,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAc,CAAC,CAAC,CAAC;SACzD;aAAM;YACL,OAAO,aAAa,CAAC;SACtB;IACH,CAAC;IAED,MAAM;QACJ,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC;QAC5C,IAAI,KAAK,KAAK,MAAM,EAAE;YACpB,KAAK,GAAG,WAAW,CAAC;SACrB;QACD,OAAO,CACL,oBAAC,gBAAgB,IACf,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EACnD,KAAK,EAAE;gBACL,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;gBAC7D,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;gBAC7C,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;gBAC/C,0DAA0D;gBAC1D,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,uCAAuC;gBACvC,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,YAAY,EAAE,CAAC;gBACf,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;gBACvC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAClD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBACtC,aAAa,EAAE,KAAK;gBACpB,iBAAiB,EAAE,CAAC,GAAG,CAAC;aACzB,EACD,OAAO,EAAE,QAAQ,CACf,KAAK,IAAI,EAAE;gBACT,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;gBAC/B,IAAI;oBACF,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;wBACtB,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;qBAC5B;iBACF;gBAAC,OAAO,CAAC,EAAE;oBACV,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;oBAChC,MAAM,CAAC,CAAC;iBACT;gBACD,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,KAAK,EAAC,CAAC,CAAC;YAClC,CAAC,EACD,GAAG,EACH,EAAC,OAAO,EAAE,IAAI,EAAC,CAChB;YAEA,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAChC,oBAAC,GAAG,IAAC,QAAQ,EAAE,CAAC;gBACd,oBAAC,IAAI,IACH,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAc,CAAC,EACnD,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,EACtC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,GACrB,CACE,CACP;YACA,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ;YACnD,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAC3B,oBAAC,IAAI,IACH,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAc,CAAC,EACxC,IAAI,EAAC,QAAQ,EACb,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EACrB,WAAW,QACX,MAAM,EAAC,MAAM,IAEZ,IAAI,CAAC,KAAK,CAAC,IAAI,CACX,CACR;YACA,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAC7C,oBAAC,GAAG,IAAC,UAAU,EAAE,CAAC;gBAChB,oBAAC,iBAAiB,IAAC,KAAK,EAAE,IAAI,CAAC,YAAY,CAAC,KAAc,CAAC,EAAE,IAAI,EAAC,OAAO,GAAG,CACxE,CACP,CACgB,CACpB,CAAC;IACJ,CAAC;CACF"}
|
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/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":"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"}
|
package/package.json
CHANGED
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
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/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;
|