ferns-ui 1.0.0-beta.0 → 1.0.0

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/Accordion.js CHANGED
@@ -1,15 +1,20 @@
1
1
  import FontAwesome6 from "@expo/vector-icons/FontAwesome6";
2
- import React, { useState } from "react";
2
+ import React, { useEffect, useState } from "react";
3
3
  import { Pressable, View } from "react-native";
4
4
  import { Heading } from "./Heading";
5
5
  import { Modal } from "./Modal";
6
+ import { Text } from "./Text";
6
7
  import { useTheme } from "./Theme";
7
- export const Accordion = ({ children, isCollapsed = false, title, includeInfoModal = false, infoModalChildren, infoModalSubTitle, infoModalText, infoModalTitle, }) => {
8
+ export const Accordion = ({ children, isCollapsed = false, title, subtitle, includeInfoModal = false, infoModalChildren, infoModalSubtitle, infoModalText, infoModalTitle, }) => {
8
9
  const { theme } = useTheme();
9
- const [collapsed, setCollapsed] = useState(isCollapsed);
10
+ const [collapsed, setCollapsed] = useState(false);
10
11
  const [infoModalVisibleState, setInfoModalVisibleState] = useState(false);
12
+ // The external collapse state should override the internal collapse state.
13
+ useEffect(() => {
14
+ setCollapsed(isCollapsed);
15
+ }, [isCollapsed]);
11
16
  return (React.createElement(React.Fragment, null,
12
- React.createElement(Modal, { primaryButtonOnClick: () => setInfoModalVisibleState(false), primaryButtonText: "Close", size: "md", subTitle: infoModalSubTitle, text: infoModalText, title: infoModalTitle, visible: infoModalVisibleState, onDismiss: () => setInfoModalVisibleState(false) }, infoModalChildren),
17
+ React.createElement(Modal, { primaryButtonOnClick: () => setInfoModalVisibleState(false), primaryButtonText: "Close", size: "md", subtitle: infoModalSubtitle, text: infoModalText, title: infoModalTitle, visible: infoModalVisibleState, onDismiss: () => setInfoModalVisibleState(false) }, infoModalChildren),
13
18
  React.createElement(View, { style: {
14
19
  padding: 16,
15
20
  borderBottomColor: theme.border.default,
@@ -19,10 +24,12 @@ export const Accordion = ({ children, isCollapsed = false, title, includeInfoMod
19
24
  width: "100%",
20
25
  } },
21
26
  React.createElement(View, { style: { flexDirection: "row", justifyContent: "space-between", alignItems: "center" } },
22
- React.createElement(View, { style: { flexDirection: "row", alignItems: "center" } },
23
- React.createElement(Heading, null, title),
24
- includeInfoModal && infoModalTitle && (React.createElement(Pressable, { accessibilityRole: "button", hitSlop: { top: 10, bottom: 10, left: 10, right: 10 }, style: { marginLeft: 8 }, onPress: () => setInfoModalVisibleState(true) },
25
- React.createElement(Heading, { color: "secondaryLight", size: "sm" }, "\u24D8")))),
27
+ React.createElement(View, { style: { flexDirection: "column", gap: 4 } },
28
+ React.createElement(View, { style: { flexDirection: "row", alignItems: "center" } },
29
+ React.createElement(Heading, null, title),
30
+ includeInfoModal && infoModalTitle && (React.createElement(Pressable, { accessibilityRole: "button", hitSlop: { top: 10, bottom: 10, left: 10, right: 10 }, style: { marginLeft: 8 }, onPress: () => setInfoModalVisibleState(true) },
31
+ React.createElement(Heading, { color: "secondaryLight", size: "sm" }, "\u24D8")))),
32
+ subtitle && React.createElement(Text, null, subtitle)),
26
33
  React.createElement(View, null,
27
34
  React.createElement(Pressable, { accessibilityRole: "button", hitSlop: { top: 20, bottom: 20, left: 20, right: 20 }, onPress: () => setCollapsed(!collapsed) },
28
35
  React.createElement(FontAwesome6, { color: theme.text.link, name: collapsed ? "chevron-down" : "chevron-up", size: 16 })))),
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Accordion.js","sourceRoot":"","sources":["../src/Accordion.tsx"],"names":[],"mappings":"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"}
package/dist/Badge.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import React from "react";
2
2
  import { BadgeProps } from "./Common";
3
- export declare const Badge: ({ value, iconName, status, secondary, variant, maxValue, }: BadgeProps) => React.ReactElement;
3
+ export declare const Badge: ({ value, iconName, status, secondary, variant, maxValue, customBackgroundColor, customTextColor, customBorderColor, customIconColor, customIconName, }: BadgeProps) => React.ReactElement;
package/dist/Badge.js CHANGED
@@ -2,7 +2,7 @@ import React from "react";
2
2
  import { Text, View } from "react-native";
3
3
  import { Icon } from "./Icon";
4
4
  import { useTheme } from "./Theme";
5
- export const Badge = ({ value, iconName, status = "info", secondary = false, variant, maxValue = 100, }) => {
5
+ export const Badge = ({ value, iconName, status = "info", secondary = false, variant, maxValue = 100, customBackgroundColor, customTextColor, customBorderColor, customIconColor, customIconName, }) => {
6
6
  const { theme } = useTheme();
7
7
  const isIconOnly = variant === "iconOnly";
8
8
  let badgeColor = "inverted";
@@ -13,6 +13,7 @@ export const Badge = ({ value, iconName, status = "info", secondary = false, var
13
13
  info: "#8FC1D2",
14
14
  success: "#7FD898",
15
15
  neutral: "#AAAAAA",
16
+ custom: "#AAAAAA",
16
17
  };
17
18
  if (secondary) {
18
19
  if (status === "error") {
@@ -47,6 +48,10 @@ export const Badge = ({ value, iconName, status = "info", secondary = false, var
47
48
  else if (status === "neutral") {
48
49
  badgeBgColor = secondary ? "neutralLight" : "neutralDark";
49
50
  }
51
+ const backgroundColor = status === "custom" ? customBackgroundColor : theme.surface[badgeBgColor];
52
+ const borderColor = status === "custom" ? customBorderColor : secondaryBorderColors[status];
53
+ const textColor = status === "custom" ? customTextColor : theme.text[badgeColor];
54
+ const iconColor = status === "custom" ? customIconColor : badgeColor;
50
55
  let badgeBorderRadius = theme.radius.default;
51
56
  if (isIconOnly) {
52
57
  badgeBorderRadius = theme.radius.full;
@@ -80,17 +85,17 @@ export const Badge = ({ value, iconName, status = "info", secondary = false, var
80
85
  paddingHorizontal: variant === "iconOnly" ? theme.spacing.xs : theme.spacing.sm,
81
86
  flexDirection: "row",
82
87
  borderRadius: badgeBorderRadius,
83
- backgroundColor: theme.surface[badgeBgColor],
88
+ backgroundColor,
84
89
  height: variant === "iconOnly" ? 16 : "auto",
85
90
  width: variant === "iconOnly" ? 16 : "auto",
86
91
  },
87
92
  isIconOnly && { height: 16, width: 16 },
88
- secondary && { borderWidth: 1, borderColor: secondaryBorderColors[status] },
93
+ secondary && { borderWidth: 1, borderColor },
89
94
  ] },
90
95
  Boolean(variant !== "numberOnly" && iconName) && (React.createElement(View, { style: { marginRight: variant === "iconOnly" ? 0 : theme.spacing.sm } },
91
- React.createElement(Icon, { color: badgeColor, iconName: iconName, size: "xs" }))),
96
+ React.createElement(Icon, { color: iconColor, iconName: customIconName !== null && customIconName !== void 0 ? customIconName : iconName, size: "xs" }))),
92
97
  Boolean(variant !== "iconOnly") && (React.createElement(Text, { style: {
93
- color: theme.text[badgeColor],
98
+ color: textColor,
94
99
  fontSize: 10,
95
100
  fontWeight: "700",
96
101
  fontFamily: "text",
package/dist/Badge.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../src/Badge.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Badge.js","sourceRoot":"","sources":["../src/Badge.tsx"],"names":[],"mappings":"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"}
package/dist/Button.js CHANGED
@@ -9,8 +9,8 @@ import { useTheme } from "./Theme";
9
9
  import { Tooltip } from "./Tooltip";
10
10
  import { Unifier } from "./Unifier";
11
11
  import { isNative } from "./Utilities";
12
- const ConfirmationModal = ({ visible, title, subTitle, text, onConfirm, onCancel }) => {
13
- return (React.createElement(Modal, { primaryButtonOnClick: onConfirm, primaryButtonText: "Confirm", secondaryButtonOnClick: onCancel, secondaryButtonText: "Cancel", subTitle: subTitle, title: title, visible: visible, onDismiss: onCancel },
12
+ const ConfirmationModal = ({ visible, title, subtitle, text, onConfirm, onCancel }) => {
13
+ return (React.createElement(Modal, { primaryButtonOnClick: onConfirm, primaryButtonText: "Confirm", secondaryButtonOnClick: onCancel, secondaryButtonText: "Cancel", subtitle: subtitle, title: title, visible: visible, onDismiss: onCancel },
14
14
  React.createElement(Text, null, text)));
15
15
  };
16
16
  const ButtonComponent = ({ confirmationText = "Are you sure you want to continue?", disabled = false, fullWidth = false, iconName, iconPosition = "left", loading: propsLoading, modalTitle = "Confirm", modalSubTitle, testID, text, variant = "primary", withConfirmation = false, onClick, }) => {
@@ -83,7 +83,7 @@ const ButtonComponent = ({ confirmationText = "Are you sure you want to continue
83
83
  React.createElement(Text, { style: { color, fontWeight: "700", fontSize: 16 } }, text)),
84
84
  Boolean(loading) && (React.createElement(Box, { marginLeft: 2 },
85
85
  React.createElement(ActivityIndicator, { color: color, size: "small" })))),
86
- withConfirmation && (React.createElement(ConfirmationModal, { subTitle: modalSubTitle, text: confirmationText, title: modalTitle, visible: showConfirmation, onCancel: () => setShowConfirmation(false), onConfirm: async () => {
86
+ withConfirmation && (React.createElement(ConfirmationModal, { subtitle: modalSubTitle, text: confirmationText, title: modalTitle, visible: showConfirmation, onCancel: () => setShowConfirmation(false), onConfirm: async () => {
87
87
  await onClick();
88
88
  setShowConfirmation(false);
89
89
  } }))));
package/dist/Common.d.ts CHANGED
@@ -22,7 +22,7 @@ export interface AccordionProps {
22
22
  /**
23
23
  * The subtitle of the information modal.
24
24
  */
25
- infoModalSubTitle?: ModalProps["subTitle"];
25
+ infoModalSubtitle?: ModalProps["subtitle"];
26
26
  /**
27
27
  * The text content of the information modal.
28
28
  */
@@ -36,6 +36,7 @@ export interface AccordionProps {
36
36
  * @default true
37
37
  */
38
38
  isCollapsed?: boolean;
39
+ subtitle?: string;
39
40
  /**
40
41
  * The title of the accordion.
41
42
  */
@@ -1040,6 +1041,26 @@ export interface AvatarProps {
1040
1041
  accessibilityLabel?: string;
1041
1042
  }
1042
1043
  export interface BadgeProps {
1044
+ /**
1045
+ * When status is "custom", determines the badge's background color.
1046
+ */
1047
+ customBackgroundColor?: string;
1048
+ /**
1049
+ * When status is "custom", determines the badge's border color.
1050
+ */
1051
+ customBorderColor?: string;
1052
+ /**
1053
+ * When status is "custom", determines the badge's icon color
1054
+ */
1055
+ customIconColor?: IconColor;
1056
+ /**
1057
+ * When status is "custom", determines the badge's icon
1058
+ */
1059
+ customIconName?: IconName;
1060
+ /**
1061
+ * When status is "custom", determines the badge's text color.
1062
+ */
1063
+ customTextColor?: string;
1043
1064
  /**
1044
1065
  * The name of the icon to display in the badge.
1045
1066
  */
@@ -1058,7 +1079,7 @@ export interface BadgeProps {
1058
1079
  * The status of the badge. Determines its color and appearance.
1059
1080
  * @default "info"
1060
1081
  */
1061
- status?: "info" | "error" | "warning" | "success" | "neutral";
1082
+ status?: "info" | "error" | "warning" | "success" | "neutral" | "custom";
1062
1083
  /**
1063
1084
  * The text or number to display inside the badge.
1064
1085
  */
@@ -1414,7 +1435,7 @@ export interface ModalProps {
1414
1435
  /**
1415
1436
  * The subtitle of the modal.
1416
1437
  */
1417
- subTitle?: string;
1438
+ subtitle?: string;
1418
1439
  /**
1419
1440
  * The text content of the modal.
1420
1441
  */
@@ -1730,19 +1751,49 @@ export type TapToEditProps = (BaseTapToEditProps & Omit<TextFieldProps, "onChang
1730
1751
  export interface BaseTapToEditProps extends Omit<FieldProps, "onChange" | "value"> {
1731
1752
  title: string;
1732
1753
  value: any;
1754
+ /**
1755
+ * Not required if not editable.
1756
+ */
1733
1757
  setValue?: (value: any) => void;
1758
+ /**
1759
+ * Not required if not editable.
1760
+ */
1734
1761
  onSave?: (value: any) => void | Promise<void>;
1762
+ /**
1763
+ * If false, the field will not be editable and will be disabled
1764
+ * @default true
1765
+ */
1735
1766
  editable?: boolean;
1767
+ /**
1768
+ * Enable edit mode from outside the component.
1769
+ */
1736
1770
  isEditing?: boolean;
1737
- rowBoxProps?: Partial<BoxProps>;
1738
1771
  transform?: (value: any) => string;
1739
- fieldComponent?: (setValue: () => void) => ReactElement;
1772
+ /**
1773
+ * Show a confirmation modal before saving the value.
1774
+ * @default false
1775
+ */
1740
1776
  withConfirmation?: boolean;
1777
+ /**
1778
+ * The text content of the confirmation modal.
1779
+ * @default "Are you sure you want save your changes?"
1780
+ */
1741
1781
  confirmationText?: string;
1742
- confirmationHeading?: string;
1743
- description?: string;
1744
- showDescriptionAsTooltip?: boolean;
1745
- onlyShowDescriptionWhileEditing?: boolean;
1782
+ /**
1783
+ * The title of the confirmation modal.
1784
+ * @default "Confirm"
1785
+ */
1786
+ confirmationTitle?: string;
1787
+ /**
1788
+ * Field helperText, a description of the field surfaced in the UI
1789
+ * @default "Confirm"
1790
+ */
1791
+ helperText?: string;
1792
+ /**
1793
+ * Only display the helperText in the UI while editing. if false, the helperText is always shown below the value.
1794
+ * @default true
1795
+ */
1796
+ onlyShowHelperTextWhileEditing?: boolean;
1746
1797
  }
1747
1798
  export interface APIError {
1748
1799
  status: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Common.js","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"AAgXA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;CACP,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,WAAW,CAAC,OAAyB,CAAC,CAAC;AAChD,CAAC;AAqBD,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;QACN,KAAK,EAAE,EAAE;KACV,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAyRF,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,GAAG;IACZ,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
1
+ {"version":3,"file":"Common.js","sourceRoot":"","sources":["../src/Common.ts"],"names":[],"mappings":"AAqXA,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,CAAC,EAAE,EAAE;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;CACP,CAAC;AAEF,MAAM,UAAU,UAAU,CAAC,OAAqB;IAC9C,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAChB,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAmB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,OAAO,WAAW,CAAC,OAAyB,CAAC,CAAC;AAChD,CAAC;AAqBD,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;QACN,KAAK,EAAE,EAAE;KACV,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC;AAClB,CAAC,CAAC;AAyRF,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,CAAC;IACV,OAAO,EAAE,CAAC;IACV,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,GAAG;IACZ,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,CAAC;IACL,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;CACX,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,YAAY,CAAC,QAAQ,CAAC,CAAC;AAChC,CAAC"}
@@ -9,8 +9,8 @@ import { useTheme } from "./Theme";
9
9
  import { Tooltip } from "./Tooltip";
10
10
  import { Unifier } from "./Unifier";
11
11
  import { isNative } from "./Utilities";
12
- const ConfirmationModal = ({ visible, title, subTitle, text, onConfirm, onCancel, }) => {
13
- return (React.createElement(Modal, { primaryButtonOnClick: onConfirm, primaryButtonText: "Confirm", secondaryButtonOnClick: onCancel, secondaryButtonText: "Cancel", subTitle: subTitle, title: title, visible: visible, onDismiss: onCancel },
12
+ const ConfirmationModal = ({ visible, title, subtitle, text, onConfirm, onCancel, }) => {
13
+ return (React.createElement(Modal, { primaryButtonOnClick: onConfirm, primaryButtonText: "Confirm", secondaryButtonOnClick: onCancel, secondaryButtonText: "Cancel", subtitle: subtitle, title: title, visible: visible, onDismiss: onCancel },
14
14
  React.createElement(Text, null, text)));
15
15
  };
16
16
  const IconButtonComponent = ({ accessibilityHint, accessibilityLabel, confirmationHeading = "Confirm", confirmationText = "Are you sure you want to continue?", iconName, indicator, indicatorText, loading: propsLoading = false, testID, variant = "primary", withConfirmation = false, tooltipText, onClick, }) => {
@@ -89,7 +89,7 @@ const IconButtonComponent = ({ accessibilityHint, accessibilityLabel, confirmati
89
89
  fontSize: 10,
90
90
  fontWeight: 700,
91
91
  } }, indicatorText)))),
92
- withConfirmation && (React.createElement(ConfirmationModal, { subTitle: undefined, text: confirmationText, title: confirmationHeading, visible: showConfirmation, onCancel: () => setShowConfirmation(false), onConfirm: async () => {
92
+ withConfirmation && (React.createElement(ConfirmationModal, { subtitle: undefined, text: confirmationText, title: confirmationHeading, visible: showConfirmation, onCancel: () => setShowConfirmation(false), onConfirm: async () => {
93
93
  await onClick();
94
94
  setShowConfirmation(false);
95
95
  } }))));
package/dist/Modal.js CHANGED
@@ -21,7 +21,7 @@ const getModalSize = (size) => {
21
21
  }
22
22
  return sizePx;
23
23
  };
24
- const ModalContent = ({ children, title, subTitle, text, primaryButtonText, primaryButtonDisabled, secondaryButtonText, primaryButtonOnClick, secondaryButtonOnClick, onDismiss, sizePx, theme, isMobile, }) => {
24
+ const ModalContent = ({ children, title, subtitle, text, primaryButtonText, primaryButtonDisabled, secondaryButtonText, primaryButtonOnClick, secondaryButtonOnClick, onDismiss, sizePx, theme, isMobile, }) => {
25
25
  return (React.createElement(View, { style: Object.assign({ padding: 32, alignItems: "center", alignSelf: "center", zIndex: 1, backgroundColor: theme.surface.base, margin: "auto", borderRadius: theme.radius.default, width: sizePx }, (isMobile
26
26
  ? {}
27
27
  : {
@@ -48,8 +48,8 @@ const ModalContent = ({ children, title, subTitle, text, primaryButtonText, prim
48
48
  React.createElement(Icon, { iconName: "x", size: "sm" }))),
49
49
  title && (React.createElement(View, { accessibilityHint: "Modal title", accessibilityLabel: title, accessibilityRole: "header", style: { alignSelf: "flex-start" } },
50
50
  React.createElement(Heading, { size: "lg" }, title))),
51
- subTitle && (React.createElement(View, { accessibilityHint: "Modal Sub Heading Text", accessibilityLabel: subTitle, accessibilityRole: "text", style: { alignSelf: "flex-start", marginTop: subTitle ? 8 : 0 } },
52
- React.createElement(Text, { size: "lg" }, subTitle))),
51
+ subtitle && (React.createElement(View, { accessibilityHint: "Modal Sub Heading Text", accessibilityLabel: subtitle, accessibilityRole: "text", style: { alignSelf: "flex-start", marginTop: subtitle ? 8 : 0 } },
52
+ React.createElement(Text, { size: "lg" }, subtitle))),
53
53
  text && (React.createElement(View, { accessibilityHint: "Modal body text", accessibilityLabel: text, accessibilityRole: "text", style: { marginVertical: text ? 12 : 0, alignSelf: "flex-start" } },
54
54
  React.createElement(Text, null, text))),
55
55
  children && (React.createElement(View, { accessibilityRole: "text", style: { marginTop: text ? 0 : 12 } }, children)),
@@ -62,7 +62,7 @@ const ModalContent = ({ children, title, subTitle, text, primaryButtonText, prim
62
62
  React.createElement(Button, { text: secondaryButtonText, variant: "muted", onClick: secondaryButtonOnClick }))),
63
63
  Boolean(primaryButtonText && primaryButtonOnClick) && (React.createElement(Button, { disabled: primaryButtonDisabled, text: primaryButtonText, onClick: primaryButtonOnClick })))));
64
64
  };
65
- export const Modal = ({ children, primaryButtonDisabled = false, primaryButtonText, secondaryButtonText, size = "sm", subTitle, text, title, visible, onDismiss, primaryButtonOnClick, secondaryButtonOnClick, }) => {
65
+ export const Modal = ({ children, primaryButtonDisabled = false, primaryButtonText, secondaryButtonText, size = "sm", subtitle, text, title, visible, onDismiss, primaryButtonOnClick, secondaryButtonOnClick, }) => {
66
66
  const actionSheetRef = useRef(null);
67
67
  const { theme } = useTheme();
68
68
  const onHandlerStateChange = ({ nativeEvent }) => {
@@ -80,7 +80,7 @@ export const Modal = ({ children, primaryButtonDisabled = false, primaryButtonTe
80
80
  const sizePx = getModalSize(size);
81
81
  const modalContentProps = {
82
82
  title,
83
- subTitle,
83
+ subtitle,
84
84
  text,
85
85
  primaryButtonText,
86
86
  primaryButtonDisabled,
@@ -1,6 +1,6 @@
1
1
  import React from "react";
2
2
  import { Pressable, View } from "react-native";
3
- import { Text } from "./Text";
3
+ import { Heading } from "./Heading";
4
4
  import { useTheme } from "./Theme";
5
5
  export const SegmentedControl = ({ items, onChange = () => { }, size = "md", selectedIndex, }) => {
6
6
  const height = size === "md" ? 36 : 44;
@@ -13,6 +13,7 @@ export const SegmentedControl = ({ items, onChange = () => { }, size = "md", sel
13
13
  alignItems: "center",
14
14
  gap: 4,
15
15
  height,
16
+ maxHeight: height,
16
17
  borderRadius: theme.primitives.radius3xl,
17
18
  borderColor: theme.primitives.neutral300,
18
19
  borderWidth: 3,
@@ -34,6 +35,6 @@ export const SegmentedControl = ({ items, onChange = () => { }, size = "md", sel
34
35
  backgroundColor: index === selectedIndex ? theme.surface.base : undefined,
35
36
  overflow: "hidden",
36
37
  }, onPress: () => onChange(index) },
37
- React.createElement(Text, null, item))))));
38
+ React.createElement(Heading, { size: "sm" }, item))))));
38
39
  };
39
40
  //# sourceMappingURL=SegmentedControl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../src/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,IAAI,GAAG,IAAI,EACX,aAAa,GACS,EAAE,EAAE;IAC1B,MAAM,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAC3B,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,MAAM;YACN,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;YACxC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YACxC,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;SAC7C,IAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,oBAAC,SAAS,IACR,GAAG,EAAE,KAAK,EACV,iBAAiB,EAAC,QAAQ,EAC1B,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC5B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC/B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC7B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC9B,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC;YACZ,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;YACxC,eAAe,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACzE,QAAQ,EAAE,QAAQ;SACnB,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAE9B,oBAAC,IAAI,QAAE,IAAI,CAAQ,CACT,CACb,CAAC,CACG,CACR,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SegmentedControl.js","sourceRoot":"","sources":["../src/SegmentedControl.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,SAAS,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAG7C,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AAEjC,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,KAAK,EACL,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,IAAI,GAAG,IAAI,EACX,aAAa,GACS,EAAE,EAAE;IAC1B,MAAM,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAC3B,OAAO,CACL,oBAAC,IAAI,IACH,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,QAAQ,EAAE,CAAC;YACX,aAAa,EAAE,KAAK;YACpB,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,QAAQ;YACpB,GAAG,EAAE,CAAC;YACN,MAAM;YACN,SAAS,EAAE,MAAM;YACjB,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;YACxC,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;YACxC,WAAW,EAAE,CAAC;YACd,eAAe,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU;SAC7C,IAEA,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAC1B,oBAAC,SAAS,IACR,GAAG,EAAE,KAAK,EACV,iBAAiB,EAAC,QAAQ,EAC1B,KAAK,EAAE;YACL,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC5B,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC/B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC7B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE;YAC9B,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;YACpB,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC;YACZ,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,CAAC;YACX,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,KAAK,CAAC,UAAU,CAAC,SAAS;YACxC,eAAe,EAAE,KAAK,KAAK,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACzE,QAAQ,EAAE,QAAQ;SACnB,EACD,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC;QAE9B,oBAAC,OAAO,IAAC,IAAI,EAAC,IAAI,IAAE,IAAI,CAAW,CACzB,CACb,CAAC,CACG,CACR,CAAC;AACJ,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { ReactElement } from "react";
2
2
  import { AddressInterface, TapToEditProps } from "./Common";
3
3
  export declare function formatAddress(address: AddressInterface, asString?: boolean): string;
4
- export declare const TapToEdit: ({ value, setValue, title, onSave, editable, isEditing, rowBoxProps, transform, fieldComponent, withConfirmation, confirmationText, confirmationHeading, description: propsDescription, showDescriptionAsTooltip, onlyShowDescriptionWhileEditing, ...fieldProps }: TapToEditProps) => ReactElement;
4
+ export declare const TapToEdit: ({ value, setValue, title, onSave, editable, isEditing, transform, withConfirmation, confirmationText, confirmationTitle, helperText: propsHelperText, onlyShowHelperTextWhileEditing, ...fieldProps }: TapToEditProps) => ReactElement;
package/dist/TapToEdit.js CHANGED
@@ -10,26 +10,17 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import React, { useEffect, useState } from "react";
13
- import { Linking } from "react-native";
13
+ import { Linking, View } from "react-native";
14
14
  import { Box } from "./Box";
15
15
  import { Button } from "./Button";
16
16
  import { Field } from "./Field";
17
17
  import { Icon } from "./Icon";
18
18
  // import {useOpenAPISpec} from "./OpenAPIContext";
19
19
  import { Text } from "./Text";
20
- import { Tooltip } from "./Tooltip";
21
- const TapToEditTitle = ({ title, description, showDescriptionAsTooltip, onlyShowDescriptionWhileEditing, }) => {
22
- const Title = (React.createElement(Box, { flex: "grow", justifyContent: "center" },
23
- React.createElement(Text, { bold: true },
24
- title,
25
- ":"),
26
- Boolean(description && !showDescriptionAsTooltip && !onlyShowDescriptionWhileEditing) && (React.createElement(Text, { color: "secondaryLight", size: "sm" }, description))));
27
- if (showDescriptionAsTooltip) {
28
- return (React.createElement(Tooltip, { idealPosition: "top", text: description }, Title));
29
- }
30
- else {
31
- return Title;
32
- }
20
+ const TapToEditTitle = ({ title, helperText, onlyShowHelperTextWhileEditing, }) => {
21
+ return (React.createElement(View, { style: { flex: 1, justifyContent: "center" } },
22
+ React.createElement(Text, { bold: true }, title),
23
+ Boolean(helperText && !onlyShowHelperTextWhileEditing) && (React.createElement(Text, { color: "secondaryLight", size: "sm" }, helperText))));
33
24
  };
34
25
  export function formatAddress(address, asString = false) {
35
26
  var _a, _b, _c, _d;
@@ -57,11 +48,11 @@ export function formatAddress(address, asString = false) {
57
48
  }
58
49
  }
59
50
  export const TapToEdit = (_a) => {
60
- var _b, _c;
61
- var { value, setValue, title, onSave, editable = true, isEditing = false, rowBoxProps, transform, fieldComponent, withConfirmation = false, confirmationText = "Are you sure you want to save your changes?", confirmationHeading = "Confirm", description: propsDescription, showDescriptionAsTooltip = false, onlyShowDescriptionWhileEditing = true } = _a, fieldProps = __rest(_a, ["value", "setValue", "title", "onSave", "editable", "isEditing", "rowBoxProps", "transform", "fieldComponent", "withConfirmation", "confirmationText", "confirmationHeading", "description", "showDescriptionAsTooltip", "onlyShowDescriptionWhileEditing"]);
51
+ var _b, _c, _d;
52
+ var { value, setValue, title, onSave, editable = true, isEditing = false, transform, withConfirmation = false, confirmationText = "Are you sure you want to save your changes?", confirmationTitle = "Confirm", helperText: propsHelperText, onlyShowHelperTextWhileEditing = true } = _a, fieldProps = __rest(_a, ["value", "setValue", "title", "onSave", "editable", "isEditing", "transform", "withConfirmation", "confirmationText", "confirmationTitle", "helperText", "onlyShowHelperTextWhileEditing"]);
62
53
  const [editing, setEditing] = useState(false);
63
54
  const [initialValue, setInitialValue] = useState();
64
- const description = propsDescription;
55
+ const helperText = propsHelperText;
65
56
  // setInitialValue is called after initial render to handle the case where the value is updated
66
57
  useEffect(() => {
67
58
  setInitialValue(value);
@@ -72,26 +63,29 @@ export const TapToEdit = (_a) => {
72
63
  throw new Error("setValue is required if editable is true");
73
64
  }
74
65
  if (editable && (editing || isEditing)) {
75
- return (React.createElement(Box, { direction: "column" },
76
- fieldComponent ? (fieldComponent(setValue)) : (React.createElement(Field, Object.assign({ helperText: description, label: title, type: ((_b = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) !== null && _b !== void 0 ? _b : "text"), value: value, onChange: setValue !== null && setValue !== void 0 ? setValue : (() => { }) }, fieldProps))),
77
- editing && !isEditing && (React.createElement(Box, { direction: "row" },
78
- React.createElement(Button, { confirmationText: confirmationText, modalTitle: confirmationHeading, text: "Save", withConfirmation: withConfirmation, onClick: async () => {
79
- if (!onSave) {
80
- console.error("No onSave provided for editable TapToEdit");
81
- }
82
- else {
83
- setInitialValue(value);
84
- await onSave(value);
85
- }
86
- setEditing(false);
87
- } }),
88
- React.createElement(Box, { marginLeft: 2 },
66
+ return (React.createElement(View, { style: { flexDirection: "column", width: "100%" } },
67
+ React.createElement(View, { style: { flex: 1, justifyContent: "center" } },
68
+ React.createElement(Text, { bold: true }, title)),
69
+ React.createElement(View, { style: { gap: 16 } },
70
+ React.createElement(Field, Object.assign({ grow: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "textarea" ? (_b = fieldProps.grow) !== null && _b !== void 0 ? _b : true : undefined, helperText: helperText, row: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "textarea" ? 5 : undefined, type: ((_c = fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) !== null && _c !== void 0 ? _c : "text"), value: value, onChange: setValue !== null && setValue !== void 0 ? setValue : (() => { }) }, fieldProps)),
71
+ editing && !isEditing && (React.createElement(View, { style: { flexDirection: "row", justifyContent: "flex-end", gap: 16 } },
89
72
  React.createElement(Button, { text: "Cancel", variant: "muted", onClick: () => {
90
73
  if (setValue) {
91
74
  setValue(initialValue);
92
75
  }
93
76
  setEditing(false);
94
- } }))))));
77
+ } }),
78
+ React.createElement(View, { style: { marginLeft: 8 } },
79
+ React.createElement(Button, { confirmationText: confirmationText, modalTitle: confirmationTitle, text: "Save", withConfirmation: withConfirmation, onClick: async () => {
80
+ if (!onSave) {
81
+ console.error("No onSave provided for editable TapToEdit");
82
+ }
83
+ else {
84
+ setInitialValue(value);
85
+ await onSave(value);
86
+ }
87
+ setEditing(false);
88
+ } })))))));
95
89
  }
96
90
  else {
97
91
  let displayValue = value;
@@ -103,6 +97,7 @@ export const TapToEdit = (_a) => {
103
97
  // If no transform, try and display the value reasonably.
104
98
  if ((fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "boolean") {
105
99
  displayValue = value ? "Yes" : "No";
100
+ // TODO: put transform back in after field types are updated
106
101
  // } else if (fieldProps?.type === "percent") {
107
102
  // // Prevent floating point errors from showing up by using parseFloat and precision.
108
103
  // // Pass through parseFloat again to trim off insignificant zeroes.
@@ -124,7 +119,7 @@ export const TapToEdit = (_a) => {
124
119
  // Show only the domain, full links are likely too long.
125
120
  try {
126
121
  const url = new URL(value);
127
- displayValue = (_c = url === null || url === void 0 ? void 0 : url.hostname) !== null && _c !== void 0 ? _c : value;
122
+ displayValue = (_d = url === null || url === void 0 ? void 0 : url.hostname) !== null && _d !== void 0 ? _d : value;
128
123
  }
129
124
  catch (error) {
130
125
  // Don't print an error message for empty values.
@@ -149,15 +144,24 @@ export const TapToEdit = (_a) => {
149
144
  const isClickable = (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "url" || (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "address";
150
145
  // For textarea to display correctly, we place the title on its own line, then the text
151
146
  // on the next line. This is because the textarea will take up the full width of the row.
152
- return (React.createElement(Box, Object.assign({ alignItems: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "textarea" ? "start" : "center", direction: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "textarea" ? "column" : "row", justifyContent: "between", paddingX: 3, paddingY: 2, width: "100%" }, rowBoxProps),
153
- React.createElement(Box, { direction: "row", width: "100%" },
154
- React.createElement(TapToEditTitle, { description: description, onlyShowDescriptionWhileEditing: onlyShowDescriptionWhileEditing, showDescriptionAsTooltip: showDescriptionAsTooltip, title: title }),
155
- React.createElement(Box, { direction: "row", flex: "grow", justifyContent: "end", marginLeft: 2 },
147
+ return (React.createElement(View, { style: {
148
+ alignItems: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "textarea" ? "flex-start" : "center",
149
+ flexDirection: (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "textarea" ? "column" : "row",
150
+ justifyContent: "space-between",
151
+ width: "100%",
152
+ } },
153
+ React.createElement(View, { style: { flexDirection: "row", width: "100%", gap: 16 } },
154
+ React.createElement(TapToEditTitle, { helperText: helperText, onlyShowHelperTextWhileEditing: onlyShowHelperTextWhileEditing, title: title }),
155
+ React.createElement(View, { style: {
156
+ flexDirection: "row",
157
+ flex: 1,
158
+ justifyContent: "flex-end",
159
+ } },
156
160
  React.createElement(Box, { accessibilityHint: "", accessibilityLabel: "Link", justifyContent: "start", onClick: isClickable ? openLink : undefined }, Boolean((fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) !== "textarea") && (React.createElement(Text, { align: "right", underline: isClickable }, displayValue))),
157
- editable && (React.createElement(Box, { accessibilityHint: "", accessibilityLabel: "Edit", marginLeft: 2, width: 16, onClick: () => setEditing(true) },
161
+ editable && (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) !== "textarea" && (React.createElement(Box, { accessibilityHint: "", accessibilityLabel: "Edit", marginLeft: 2, width: 16, onClick: () => setEditing(true) },
158
162
  React.createElement(Icon, { iconName: "pencil", size: "md" }))))),
159
163
  (fieldProps === null || fieldProps === void 0 ? void 0 : fieldProps.type) === "textarea" && (React.createElement(React.Fragment, null,
160
- React.createElement(Box, { marginTop: 2, paddingY: 2, width: "100%" },
164
+ React.createElement(View, { style: { marginTop: 8, paddingVertical: 8, width: "100%" } },
161
165
  React.createElement(Text, { align: "left", underline: isClickable }, displayValue)),
162
166
  editable && (React.createElement(Box, { accessibilityHint: "", accessibilityLabel: "Edit", alignSelf: "end", marginLeft: 2, width: 16, onClick: () => setEditing(true) },
163
167
  React.createElement(Icon, { color: "primary", iconName: "pencil", size: "md" })))))));
@@ -1 +1 @@
1
- {"version":3,"file":"TapToEdit.js","sourceRoot":"","sources":["../src/TapToEdit.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TapToEdit.js","sourceRoot":"","sources":["../src/TapToEdit.tsx"],"names":[],"mappings":"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"}