ferns-ui 0.41.2 → 0.42.1

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/Common.d.ts CHANGED
@@ -1231,4 +1231,22 @@ export interface TapToEditProps extends Omit<FieldProps, "onChange" | "value"> {
1231
1231
  openApiField?: string;
1232
1232
  showDescriptionAsTooltip?: boolean;
1233
1233
  }
1234
+ export interface APIError {
1235
+ status: number;
1236
+ data: {
1237
+ title: string;
1238
+ detail?: string;
1239
+ id?: string;
1240
+ links?: string;
1241
+ about?: string;
1242
+ status?: number;
1243
+ code?: string;
1244
+ source?: string;
1245
+ pointer?: string;
1246
+ parameter?: string;
1247
+ meta?: {
1248
+ [id: string]: any;
1249
+ };
1250
+ };
1251
+ }
1234
1252
  export {};
package/dist/Toast.d.ts CHANGED
@@ -1,4 +1,10 @@
1
1
  import React from "react";
2
2
  import { ToastProps } from "./Common";
3
- export declare function useToast(): any;
3
+ export declare function useToast(): {
4
+ warn: (text: string, options?: Omit<ToastProps["data"], "variant">) => string;
5
+ hide: (id: string) => void;
6
+ show: (text: string, options?: ToastProps["data"]) => string;
7
+ catch: (error: any, message?: string, options?: Omit<ToastProps["data"], "variant">) => void;
8
+ error: (text: string, options?: Omit<ToastProps["data"], "variant">) => string;
9
+ };
4
10
  export declare const Toast: ({ message, data }: ToastProps) => React.ReactElement;
package/dist/Toast.js CHANGED
@@ -6,18 +6,40 @@ import { Button } from "./Button";
6
6
  import { Icon } from "./Icon";
7
7
  import { IconButton } from "./IconButton";
8
8
  import { Text } from "./Text";
9
+ import { isAPIError, printAPIError } from "./Utilities";
9
10
  const TOAST_DURATION_MS = 3 * 1000;
10
11
  export function useToast() {
11
12
  const toast = useRNToast();
13
+ const show = (text, options) => {
14
+ return toast.show(text, {
15
+ data: options,
16
+ // a duration of 0 keeps the toast up infinitely until hidden
17
+ duration: (options === null || options === void 0 ? void 0 : options.persistent) ? 0 : TOAST_DURATION_MS,
18
+ });
19
+ };
12
20
  return {
13
- show: (text, options) => {
14
- return toast.show(text, {
15
- data: options,
16
- // a duration of 0 keeps the toast up infinitely until hidden
17
- duration: (options === null || options === void 0 ? void 0 : options.persistent) ? 0 : TOAST_DURATION_MS,
18
- });
21
+ show,
22
+ warn: (text, options) => {
23
+ return show(text, Object.assign(Object.assign({}, options), { variant: "warning" }));
24
+ },
25
+ error: (text, options) => {
26
+ return show(text, Object.assign(Object.assign({}, options), { variant: "error" }));
19
27
  },
20
28
  hide: (id) => toast.hide(id),
29
+ catch: (error, message, options) => {
30
+ var _a, _b;
31
+ let exceptionMsg;
32
+ if (isAPIError(error)) {
33
+ // Get the error without details.
34
+ exceptionMsg = `${message}: ${printAPIError(error)}`;
35
+ console.error(exceptionMsg);
36
+ }
37
+ else {
38
+ exceptionMsg = (_b = (_a = error === null || error === void 0 ? void 0 : error.message) !== null && _a !== void 0 ? _a : error === null || error === void 0 ? void 0 : error.error) !== null && _b !== void 0 ? _b : String(error);
39
+ console.error(`${message}: ${exceptionMsg}`);
40
+ }
41
+ show(exceptionMsg, Object.assign(Object.assign({}, options), { variant: "error" }));
42
+ },
21
43
  };
22
44
  }
23
45
  export const Toast = ({ message, data }) => {
package/dist/Toast.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../src/Toast.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,QAAQ,IAAI,UAAU,EAAC,MAAM,kCAAkC,CAAC;AAExE,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,iBAAiB,GAAG,CAAC,GAAG,IAAI,CAAC;AAEnC,MAAM,UAAU,QAAQ;IACtB,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAC3B,OAAO;QACL,IAAI,EAAE,CACJ,IAAY,EACZ,OAMC,EACO,EAAE;YACV,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBACtB,IAAI,EAAE,OAAO;gBACb,6DAA6D;gBAC7D,QAAQ,EAAE,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,UAAU,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB;aACtD,CAAC,CAAC;QACL,CAAC;QACD,IAAI,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;KACrC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAC,OAAO,EAAE,IAAI,EAAa,EAAsB,EAAE;IACvE,kEAAkE;IAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACrE,MAAM,EAAC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAC,GAAG,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IAC/E,IAAI,KAAK,GAAc,UAAU,CAAC;IAClC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACjD,KAAK,GAAG,OAAO,CAAC;IAClB,CAAC;IACD,OAAO,CACL,oBAAC,GAAG,IACF,UAAU,EAAC,QAAQ,EACnB,KAAK,EAAE,KAAK,EACZ,SAAS,EAAC,KAAK,EACf,IAAI,EAAC,QAAQ,EACb,YAAY,EAAE,CAAC,EACf,UAAU,EAAE,CAAC,EACb,WAAW,EAAE,CAAC,EACd,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,CAAC,EACV,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC,EACX,QAAQ,EAAE,CAAC;QAEV,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,CAC/B,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,oBAAoB,EAAC,IAAI,EAAC,IAAI,GAAG,CACtD,CACP;QACA,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,CACjC,oBAAC,GAAG,IAAC,WAAW,EAAE,CAAC;YACjB,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,sBAAsB,EAAC,IAAI,EAAC,IAAI,GAAG,CACxD,CACP;QACD,oBAAC,GAAG,IAAC,UAAU,EAAC,QAAQ,EAAC,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ;YAC/E,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,IACxC,OAAO,CACH,CACH;QACL,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC,IAAI,CACvC,oBAAC,GAAG,IAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC;YAC5D,oBAAC,MAAM,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAE,UAAW,EAAE,OAAO,EAAE,aAAa,GAAI,CAChF,CACP;QACA,OAAO,CAAC,SAAS,IAAI,UAAU,CAAC,IAAI,CACnC,oBAAC,GAAG,IAAC,UAAU,EAAC,QAAQ,EAAC,cAAc,EAAC,QAAQ,EAAC,UAAU,EAAE,CAAC;YAC5D,oBAAC,UAAU,IACT,kBAAkB,EAAC,sBAAsB,EACzC,IAAI,EAAC,OAAO,EACZ,SAAS,EAAC,OAAO,EACjB,OAAO,EAAE,SAAU,GACnB,CACE,CACP,CACG,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"Toast.js","sourceRoot":"","sources":["../src/Toast.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BaseProfile, IconSize } from "./Common";
1
+ import { APIError, BaseProfile, IconSize } from "./Common";
2
2
  export declare function mergeInlineStyles(inlineStyle?: any, newStyle?: any): {
3
3
  __style: any;
4
4
  };
@@ -51,4 +51,6 @@ export declare const processAddressComponents: (addressComponents: AddressCompon
51
51
  };
52
52
  export declare const isValidGoogleApiKey: (apiKey: string) => boolean;
53
53
  export declare function formattedCountyCode(state: string, countyName: string): string;
54
+ export declare function isAPIError(error: any): error is APIError;
55
+ export declare function printAPIError(error: APIError, details?: boolean): string;
54
56
  export {};
package/dist/Utilities.js CHANGED
@@ -177,4 +177,16 @@ export function formattedCountyCode(state, countyName) {
177
177
  }
178
178
  return `${countyData.stateFP}${countyData.countyFP}`;
179
179
  }
180
+ export function isAPIError(error) {
181
+ var _a;
182
+ return error && ((_a = error.data) === null || _a === void 0 ? void 0 : _a.title);
183
+ }
184
+ export function printAPIError(error, details = true) {
185
+ var _a, _b, _c;
186
+ let message = (_a = error.data) === null || _a === void 0 ? void 0 : _a.title;
187
+ if (((_b = error.data) === null || _b === void 0 ? void 0 : _b.detail) && details) {
188
+ message = `${message}: ${(_c = error.data) === null || _c === void 0 ? void 0 : _c.detail}`;
189
+ }
190
+ return message;
191
+ }
180
192
  //# sourceMappingURL=Utilities.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../src/Utilities.tsx"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,qDAAqD;AACrD,OAAO,GAAG,MAAM,YAAY,CAAC;AAC7B,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAGtC,OAAO,EAAC,qCAAqC,EAAC,MAAM,aAAa,CAAC;AAElE,MAAM,UAAU,iBAAiB,CAAC,WAAiB,EAAE,QAAc;IACjE,MAAM,MAAM,GAAG,GAAG,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC3C,OAAO;QACL,OAAO,kCACF,MAAM,GACN,QAAQ,CACZ;KACF,CAAC;AACJ,CAAC;AAED,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;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAI,GAAG,EAAE,EAAY,EAAE;IACtD,IAAI,QAAkB,CAAC;IACvB,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,IAAI,IAAI,GAAG,EAAE,EAAE,CAAC;QACrB,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,QAAQ,GAAG,IAAI,CAAC;IAClB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AA6BF,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAU,EAAE,CAAC,CAAC;IACpC,SAAS,EAAE,IAAI,GAAG,EAAE;IACpB,WAAW,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAG,UAAoB,EAAS,EAAE,CAAC,CAAC;IAChE,SAAS,EAAE,IAAI,GAAG,CAAC,UAAU,CAAC;IAC9B,WAAW,EAAE,EAAE;CAChB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,WAAwB,EAAS,EAAE,CAAC,CAAC;IACnE,SAAS,EAAE,IAAI,GAAG,EAAE;IACpB,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,MAAe,EAAS,EAAE,CAC/C,MAAM,CAAC,MAAM,CACX,CACE,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAC,EAClD,EAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAC,EAClD,EAAE,CAAC,CAAC;IACJ,SAAS,EAAE,IAAI,GAAG,CAAC,CAAC,GAAG,UAAU,EAAE,GAAG,UAAU,CAAC,CAAC;IAClD,WAAW,kCAAM,YAAY,GAAK,YAAY,CAAC;CAChD,CAAC,EACF,QAAQ,EAAE,CACX,CAAC;AAEJ,MAAM,CAAC,MAAM,YAAY,GACvB,CAAC,EAAyB,EAAE,EAAE,CAC9B,CAAC,EAAC,SAAS,EAAE,WAAW,EAAQ,EAAS,EAAE,CAAC,CAAC;IAC3C,SAAS,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjD,WAAW;CACZ,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,EACtB,SAAS,EACT,WAAW,GACL,EAA2C,EAAE;IACnD,MAAM,KAAK,GAAQ,EAAE,CAAC;IAEtB,IAAI,SAAS,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACvB,wEAAwE;QACxE,yEAAyE;QACzE,WAAW;QACX,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,KAAK,CAAC,KAAK,GAAG,WAAW,CAAC;IAC5B,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAYF,+CAA+C;AAC/C,EAAE;AACF,kBAAkB;AAClB,EAAE;AACF,MAAM,CAAC,MAAM,MAAM,GACjB,CAAC,GAAG,UAAoB,EAAE,EAAE,CAC5B,CAAC,GAAa,EAAE,EAAE,CAChB,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAEpD,gCAAgC;AAChC,EAAE;AACF,kCAAkC;AAClC,EAAE;AACF,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAA4B,EAAE,EAAE,CAAC,CAAC,GAAW,EAAE,EAAE,CACvE,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AAExF,oDAAoD;AACpD,EAAE;AACF,0BAA0B;AAC1B,EAAE;AACF,MAAM,CAAC,MAAM,KAAK,GAChB,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,CAAS,EAAS,EAAE,CACnB,aAAa,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAE9D,6EAA6E;AAC7E,eAAe;AACf,EAAE;AACF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,gBAAgB,GAC3B,CAAC,KAAa,EAAE,EAAE,CAClB,CAAC,CAAS,EAAS,EAAE,CACnB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3C,8EAA8E;AAC9E,yEAAyE;AACzE,gDAAgD;AAChD,MAAM,UAAU,IAAI,CAClB,EAAc,EACd,KAIO;IAEP,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAM,EAAS,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,wEAAwE;AACxE,2DAA2D;AAC3D,MAAM,CAAC,MAAM,KAAK,GAChB,CAAK,GAAG,GAAiB,EAAE,EAAE,CAC7B,CAAC,GAAM,EAAE,EAAE,CACT,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAY,EAAE;IACpC,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAkC,EAAE,IAAY,EAAU,EAAE;;IAC/F,OAAO,CACL,MAAA,MAAA,UAAU,CAAC,IAAI,CAAC,CAAC,SAA+B,EAAE,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,0CAChF,SAAS,mCAAI,EAAE,CACpB,CAAC;AACJ,CAAC,CAAC;AAMF,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACtC,iBAAqD,EACrD,OAAwC,EACxC,EAAE;IACF,IAAI,0BAA0B,GAO1B;QACF,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;KACZ,CAAC;IAEF,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,CAAC;YAC3B,uCACK,0BAA0B,KAC7B,UAAU,EAAE,EAAE,EACd,UAAU,EAAE,EAAE,IACd;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,0BAA0B,CAAC;QACpC,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC;IAC9E,MAAM,UAAU,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IACpE,MAAM,IAAI,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAEvE,0BAA0B,GAAG;QAC3B,QAAQ,EAAE,GAAG,YAAY,IAAI,UAAU,EAAE,CAAC,IAAI,EAAE;QAChD,IAAI;QACJ,KAAK;QACL,OAAO;KACR,CAAC;IAEF,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,6BAA6B,CAAC,CAAC;QAC1F,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;YAC1D,0BAA0B,mCACrB,0BAA0B,KAC7B,UAAU;gBACV,UAAU,GACX,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,0BAA0B,mCACrB,0BAA0B,KAC7B,UAAU,GACX,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,0BAA0B,CAAC;AACpC,CAAC,CAAC;AAEF,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,MAAc,EAAW,EAAE;IAC7D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,mDAAmD;IACnD,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,IAAI,MAAM,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;QACxE,OAAO,KAAK,CAAC;IACf,CAAC;IACD,2DAA2D;IAC3D,MAAM,WAAW,GAAG,kBAAkB,CAAC;IACvC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC;QAClF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,UAAkB;;IACnE,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;IACzD,qEAAqE;IACrE,MAAM,SAAS,GAAG,UAAU;SACzB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,MAAA,qCAAqC,CAAC,QAAQ,CAAC,0CAAG,SAAS,CAAC,CAAC;IAChF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,OAAO,GAAG,UAAU,CAAC,OAAO,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"Utilities.js","sourceRoot":"","sources":["../src/Utilities.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ferns-ui",
3
- "version": "0.41.2",
3
+ "version": "0.42.1",
4
4
  "main": "dist/index.js",
5
5
  "license": "Apache-2.0",
6
6
  "scripts": {
@@ -135,7 +135,7 @@
135
135
  "react-dev-utils": "^12.0.1",
136
136
  "react-dom": "18.2.0",
137
137
  "react-keyed-flatten-children": "^2.2.1",
138
- "react-native": "0.72.6",
138
+ "react-native": "0.72.10",
139
139
  "react-router": "^6.17.0",
140
140
  "react-router-dom": "^6.17.0",
141
141
  "tsc-watch": "^6.0.4",
@@ -166,7 +166,7 @@
166
166
  "react-datetime-picker": "^5.5.3",
167
167
  "react-dev-utils": "^12.0.1",
168
168
  "react-dom": "18.2.0",
169
- "react-native": "0.72.6",
169
+ "react-native": "0.72.10",
170
170
  "react-native-actions-sheet": "^0.8.29",
171
171
  "react-native-calendars": "^1.1301.0",
172
172
  "react-native-drawer-layout": "3.2.1",
package/src/Common.ts CHANGED
@@ -3046,3 +3046,20 @@ export interface TapToEditProps extends Omit<FieldProps, "onChange" | "value"> {
3046
3046
  openApiField?: string;
3047
3047
  showDescriptionAsTooltip?: boolean;
3048
3048
  }
3049
+
3050
+ export interface APIError {
3051
+ status: number;
3052
+ data: {
3053
+ title: string;
3054
+ detail?: string;
3055
+ id?: string;
3056
+ links?: string;
3057
+ about?: string;
3058
+ status?: number;
3059
+ code?: string;
3060
+ source?: string;
3061
+ pointer?: string;
3062
+ parameter?: string;
3063
+ meta?: {[id: string]: any};
3064
+ };
3065
+ }
package/src/Toast.tsx CHANGED
@@ -8,29 +8,46 @@ import {AllColors, ToastProps} from "./Common";
8
8
  import {Icon} from "./Icon";
9
9
  import {IconButton} from "./IconButton";
10
10
  import {Text} from "./Text";
11
+ import {isAPIError, printAPIError} from "./Utilities";
11
12
 
12
13
  const TOAST_DURATION_MS = 3 * 1000;
13
14
 
14
- export function useToast(): any {
15
+ export function useToast(): {
16
+ warn: (text: string, options?: Omit<ToastProps["data"], "variant">) => string;
17
+ hide: (id: string) => void;
18
+ show: (text: string, options?: ToastProps["data"]) => string;
19
+ catch: (error: any, message?: string, options?: Omit<ToastProps["data"], "variant">) => void;
20
+ error: (text: string, options?: Omit<ToastProps["data"], "variant">) => string;
21
+ } {
15
22
  const toast = useRNToast();
23
+ const show = (text: string, options?: ToastProps["data"]): string => {
24
+ return toast.show(text, {
25
+ data: options,
26
+ // a duration of 0 keeps the toast up infinitely until hidden
27
+ duration: options?.persistent ? 0 : TOAST_DURATION_MS,
28
+ });
29
+ };
16
30
  return {
17
- show: (
18
- text: string,
19
- options?: {
20
- variant?: "default" | "warning" | "error";
21
- buttonText?: string;
22
- buttonOnClick: () => void | Promise<void>;
23
- persistent?: boolean;
24
- onDismiss?: () => void | Promise<void>;
25
- }
26
- ): string => {
27
- return toast.show(text, {
28
- data: options,
29
- // a duration of 0 keeps the toast up infinitely until hidden
30
- duration: options?.persistent ? 0 : TOAST_DURATION_MS,
31
- });
31
+ show,
32
+ warn: (text: string, options?: Omit<ToastProps["data"], "variant">): string => {
33
+ return show(text, {...options, variant: "warning"});
34
+ },
35
+ error: (text: string, options?: Omit<ToastProps["data"], "variant">): string => {
36
+ return show(text, {...options, variant: "error"});
32
37
  },
33
38
  hide: (id: string) => toast.hide(id),
39
+ catch: (error: any, message?: string, options?: Omit<ToastProps["data"], "variant">): void => {
40
+ let exceptionMsg;
41
+ if (isAPIError(error)) {
42
+ // Get the error without details.
43
+ exceptionMsg = `${message}: ${printAPIError(error)}`;
44
+ console.error(exceptionMsg);
45
+ } else {
46
+ exceptionMsg = error?.message ?? error?.error ?? String(error);
47
+ console.error(`${message}: ${exceptionMsg}`);
48
+ }
49
+ show(exceptionMsg, {...options, variant: "error"});
50
+ },
34
51
  };
35
52
  }
36
53
 
package/src/Utilities.tsx CHANGED
@@ -3,7 +3,7 @@
3
3
  import get from "lodash/get";
4
4
  import {Platform} from "react-native";
5
5
 
6
- import {BaseProfile, IconSize} from "./Common";
6
+ import {APIError, BaseProfile, IconSize} from "./Common";
7
7
  import {COUNTY_AND_COUNTY_EQUIVALENT_ENTITIES} from "./Constants";
8
8
 
9
9
  export function mergeInlineStyles(inlineStyle?: any, newStyle?: any) {
@@ -308,3 +308,15 @@ export function formattedCountyCode(state: string, countyName: string): string {
308
308
 
309
309
  return `${countyData.stateFP}${countyData.countyFP}`;
310
310
  }
311
+
312
+ export function isAPIError(error: any): error is APIError {
313
+ return error && error.data?.title;
314
+ }
315
+
316
+ export function printAPIError(error: APIError, details = true): string {
317
+ let message = error.data?.title;
318
+ if (error.data?.detail && details) {
319
+ message = `${message}: ${error.data?.detail}`;
320
+ }
321
+ return message;
322
+ }