ferns-ui 0.28.5 → 0.28.6
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/TapToEdit.d.ts +4 -1
- package/dist/TapToEdit.js +6 -2
- package/dist/TapToEdit.js.map +1 -1
- package/package.json +1 -1
- package/src/TapToEdit.tsx +13 -0
package/dist/TapToEdit.d.ts
CHANGED
|
@@ -12,5 +12,8 @@ export interface TapToEditProps extends Omit<FieldProps, "onChange" | "value"> {
|
|
|
12
12
|
rowBoxProps?: Partial<BoxProps>;
|
|
13
13
|
transform?: (value: any) => string;
|
|
14
14
|
fieldComponent?: (setValue: () => void) => ReactElement;
|
|
15
|
+
withConfirmation?: boolean;
|
|
16
|
+
confirmationText?: string;
|
|
17
|
+
confirmationHeading?: string;
|
|
15
18
|
}
|
|
16
|
-
export declare const TapToEdit: ({ value, setValue, placeholder, title, onSave, editable, isEditing, rowBoxProps, transform, fieldComponent, ...fieldProps }: TapToEditProps) => ReactElement;
|
|
19
|
+
export declare const TapToEdit: ({ value, setValue, placeholder, title, onSave, editable, isEditing, rowBoxProps, transform, fieldComponent, withConfirmation, confirmationText, confirmationHeading, ...fieldProps }: TapToEditProps) => ReactElement;
|
package/dist/TapToEdit.js
CHANGED
|
@@ -35,8 +35,9 @@ export function formatAddress(address) {
|
|
|
35
35
|
}
|
|
36
36
|
export const TapToEdit = (_a) => {
|
|
37
37
|
var _b;
|
|
38
|
-
var { value, setValue, placeholder, title, onSave, editable = true, isEditing = false, rowBoxProps, transform, fieldComponent } = _a, fieldProps = __rest(_a, ["value", "setValue", "placeholder", "title", "onSave", "editable", "isEditing", "rowBoxProps", "transform", "fieldComponent"]);
|
|
38
|
+
var { value, setValue, placeholder, title, onSave, editable = true, isEditing = false, rowBoxProps, transform, fieldComponent, withConfirmation = false, confirmationText = "Are you sure you want to save your changes?", confirmationHeading = "Confirm" } = _a, fieldProps = __rest(_a, ["value", "setValue", "placeholder", "title", "onSave", "editable", "isEditing", "rowBoxProps", "transform", "fieldComponent", "withConfirmation", "confirmationText", "confirmationHeading"]);
|
|
39
39
|
const [editing, setEditing] = useState(false);
|
|
40
|
+
const [initialValue] = useState(value);
|
|
40
41
|
if (editable && !setValue) {
|
|
41
42
|
throw new Error("setValue is required if editable is true");
|
|
42
43
|
}
|
|
@@ -44,7 +45,7 @@ export const TapToEdit = (_a) => {
|
|
|
44
45
|
return (React.createElement(Box, { direction: "column" },
|
|
45
46
|
fieldComponent ? (fieldComponent(setValue)) : (React.createElement(Field, Object.assign({ label: title, placeholder: placeholder, value: value, onChange: setValue }, fieldProps))),
|
|
46
47
|
editing && !isEditing && (React.createElement(Box, { direction: "row" },
|
|
47
|
-
React.createElement(Button, { color: "blue", inline: true, text: "Save", onClick: async () => {
|
|
48
|
+
React.createElement(Button, { color: "blue", confirmationHeading: confirmationHeading, confirmationText: confirmationText, inline: true, text: "Save", withConfirmation: withConfirmation, onClick: async () => {
|
|
48
49
|
if (!onSave) {
|
|
49
50
|
console.error("No onSave provided for editable TapToEdit");
|
|
50
51
|
}
|
|
@@ -55,6 +56,9 @@ export const TapToEdit = (_a) => {
|
|
|
55
56
|
} }),
|
|
56
57
|
React.createElement(Box, { marginLeft: 2 },
|
|
57
58
|
React.createElement(Button, { color: "red", inline: true, text: "Cancel", onClick: () => {
|
|
59
|
+
if (setValue) {
|
|
60
|
+
setValue(initialValue);
|
|
61
|
+
}
|
|
58
62
|
setEditing(false);
|
|
59
63
|
} }))))));
|
|
60
64
|
}
|
package/dist/TapToEdit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TapToEdit.js","sourceRoot":"","sources":["../src/TapToEdit.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAe,QAAQ,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,cAAc,CAAC;AAErC,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAC,KAAK,EAAa,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAE5B,MAAM,UAAU,aAAa,CAAC,OAAY;;IACxC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAAE;QACjB,IAAI,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,KAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;KACpF;IAED,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,EAAE;QAClB,KAAK,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;KACrE;IAED,MAAM,GAAG,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,EAAE,CAAC;IAEnC,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,EAAE,CAAC;IAC/C,MAAM,cAAc,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,mCAAI,EAAE,CAAC;IAC/C,MAAM,gBAAgB,GAAG,GAAG,IAAI,GAAG,KAAK,GAAG,GAAG,EAAE,CAAC;IAEjD,yFAAyF;IACzF,OAAO,GAAG,cAAc,GACtB,cAAc,IAAI,CAAC,cAAc,IAAI,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAClE,GAAG,cAAc,GAAG,cAAc,IAAI,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,gBAAgB,EAAE,CAAC;AAC1F,CAAC;
|
|
1
|
+
{"version":3,"file":"TapToEdit.js","sourceRoot":"","sources":["../src/TapToEdit.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/TapToEdit.tsx
CHANGED
|
@@ -46,6 +46,9 @@ export interface TapToEditProps extends Omit<FieldProps, "onChange" | "value"> {
|
|
|
46
46
|
rowBoxProps?: Partial<BoxProps>;
|
|
47
47
|
transform?: (value: any) => string;
|
|
48
48
|
fieldComponent?: (setValue: () => void) => ReactElement;
|
|
49
|
+
withConfirmation?: boolean;
|
|
50
|
+
confirmationText?: string;
|
|
51
|
+
confirmationHeading?: string;
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
export const TapToEdit = ({
|
|
@@ -59,9 +62,13 @@ export const TapToEdit = ({
|
|
|
59
62
|
rowBoxProps,
|
|
60
63
|
transform,
|
|
61
64
|
fieldComponent,
|
|
65
|
+
withConfirmation = false,
|
|
66
|
+
confirmationText = "Are you sure you want to save your changes?",
|
|
67
|
+
confirmationHeading = "Confirm",
|
|
62
68
|
...fieldProps
|
|
63
69
|
}: TapToEditProps): ReactElement => {
|
|
64
70
|
const [editing, setEditing] = useState(false);
|
|
71
|
+
const [initialValue] = useState(value);
|
|
65
72
|
|
|
66
73
|
if (editable && !setValue) {
|
|
67
74
|
throw new Error("setValue is required if editable is true");
|
|
@@ -85,8 +92,11 @@ export const TapToEdit = ({
|
|
|
85
92
|
<Box direction="row">
|
|
86
93
|
<Button
|
|
87
94
|
color="blue"
|
|
95
|
+
confirmationHeading={confirmationHeading}
|
|
96
|
+
confirmationText={confirmationText}
|
|
88
97
|
inline
|
|
89
98
|
text="Save"
|
|
99
|
+
withConfirmation={withConfirmation}
|
|
90
100
|
onClick={async (): Promise<void> => {
|
|
91
101
|
if (!onSave) {
|
|
92
102
|
console.error("No onSave provided for editable TapToEdit");
|
|
@@ -102,6 +112,9 @@ export const TapToEdit = ({
|
|
|
102
112
|
inline
|
|
103
113
|
text="Cancel"
|
|
104
114
|
onClick={(): void => {
|
|
115
|
+
if (setValue) {
|
|
116
|
+
setValue(initialValue);
|
|
117
|
+
}
|
|
105
118
|
setEditing(false);
|
|
106
119
|
}}
|
|
107
120
|
/>
|