ferns-ui 1.2.0 → 1.2.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 +5 -0
- package/dist/IconButton.js +7 -3
- package/dist/IconButton.js.map +1 -1
- package/package.json +1 -1
- package/src/Common.ts +6 -0
- package/src/IconButton.tsx +6 -2
package/dist/Common.d.ts
CHANGED
|
@@ -1351,6 +1351,11 @@ export interface IconButtonProps {
|
|
|
1351
1351
|
* @default "Are you sure you want to continue?"
|
|
1352
1352
|
*/
|
|
1353
1353
|
confirmationText?: string;
|
|
1354
|
+
/**
|
|
1355
|
+
* If true, the button will be disabled.
|
|
1356
|
+
* @default false
|
|
1357
|
+
*/
|
|
1358
|
+
disabled?: boolean;
|
|
1354
1359
|
/**
|
|
1355
1360
|
* Show a small indicator icon in the lower right corner of the button.
|
|
1356
1361
|
*/
|
package/dist/IconButton.js
CHANGED
|
@@ -13,7 +13,7 @@ const ConfirmationModal = ({ visible, title, subtitle, text, onConfirm, onCancel
|
|
|
13
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
|
-
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, }) => {
|
|
16
|
+
const IconButtonComponent = ({ accessibilityHint, accessibilityLabel, confirmationHeading = "Confirm", confirmationText = "Are you sure you want to continue?", disabled = false, iconName, indicator, indicatorText, loading: propsLoading = false, testID, variant = "primary", withConfirmation = false, tooltipText, onClick, }) => {
|
|
17
17
|
const [loading, setLoading] = useState(propsLoading);
|
|
18
18
|
const [showConfirmation, setShowConfirmation] = useState(false);
|
|
19
19
|
const { theme } = useTheme();
|
|
@@ -26,7 +26,11 @@ const IconButtonComponent = ({ accessibilityHint, accessibilityLabel, confirmati
|
|
|
26
26
|
}
|
|
27
27
|
let backgroundColor = theme.surface.primary;
|
|
28
28
|
let color = theme.text.inverted;
|
|
29
|
-
if (
|
|
29
|
+
if (disabled) {
|
|
30
|
+
backgroundColor = theme.surface.disabled;
|
|
31
|
+
color = theme.text.secondaryLight;
|
|
32
|
+
}
|
|
33
|
+
else if (variant === "secondary") {
|
|
30
34
|
backgroundColor = theme.surface.neutralLight;
|
|
31
35
|
color = theme.surface.secondaryDark;
|
|
32
36
|
}
|
|
@@ -45,7 +49,7 @@ const IconButtonComponent = ({ accessibilityHint, accessibilityLabel, confirmati
|
|
|
45
49
|
const indicatorColor = indicator ? theme.surface[indicator] : undefined;
|
|
46
50
|
return (React.createElement(Pressable, { accessibilityHint: (accessibilityHint !== null && accessibilityHint !== void 0 ? accessibilityHint : withConfirmation)
|
|
47
51
|
? `Opens a confirmation dialog to confirm ${accessLabel}`
|
|
48
|
-
: `Press to perform ${accessLabel} action`, "aria-label": accessLabel, "aria-role": "button", disabled: loading, style: {
|
|
52
|
+
: `Press to perform ${accessLabel} action`, "aria-label": accessLabel, "aria-role": "button", disabled: loading || disabled, style: {
|
|
49
53
|
alignItems: "center",
|
|
50
54
|
backgroundColor,
|
|
51
55
|
borderRadius: theme.radius.rounded,
|
package/dist/IconButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,iCAAiC,CAAC;AAC3D,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,KAAK,EAAE,EAAK,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAC,iBAAiB,EAAE,SAAS,EAAE,IAAI,IAAI,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAGpF,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,KAAK,EAAC,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAC;AACjC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAWrC,MAAM,iBAAiB,GAA+B,CAAC,EACrD,OAAO,EACP,KAAK,EACL,QAAQ,EACR,IAAI,EACJ,SAAS,EACT,QAAQ,GACT,EAAE,EAAE;IACH,OAAO,CACL,oBAAC,KAAK,IACJ,oBAAoB,EAAE,SAAS,EAC/B,iBAAiB,EAAC,SAAS,EAC3B,sBAAsB,EAAE,QAAQ,EAChC,mBAAmB,EAAC,QAAQ,EAC5B,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,QAAQ;QAEnB,oBAAC,IAAI,QAAE,IAAI,CAAQ,CACb,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAwB,CAAC,EAChD,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,GAAG,SAAS,EAC/B,gBAAgB,GAAG,oCAAoC,EACvD,QAAQ,EACR,SAAS,EACT,aAAa,EACb,OAAO,EAAE,YAAY,GAAG,KAAK,EAC7B,MAAM,EACN,OAAO,GAAG,SAAS,EACnB,gBAAgB,GAAG,KAAK,EACxB,WAAW,EACX,OAAO,GACR,EAAE,EAAE;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,EAAC,KAAK,EAAC,GAAG,QAAQ,EAAE,CAAC;IAC3B,IAAI,WAAW,GAAG,kBAAkB,CAAC;IACrC,IAAI,WAAW,IAAI,kBAAkB,KAAK,EAAE,EAAE,CAAC;QAC7C,WAAW,GAAG,WAAW,CAAC;IAC5B,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;IAC5C,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC;IAEhC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../src/IconButton.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/Common.ts
CHANGED
|
@@ -1637,6 +1637,12 @@ export interface IconButtonProps {
|
|
|
1637
1637
|
*/
|
|
1638
1638
|
confirmationText?: string;
|
|
1639
1639
|
|
|
1640
|
+
/**
|
|
1641
|
+
* If true, the button will be disabled.
|
|
1642
|
+
* @default false
|
|
1643
|
+
*/
|
|
1644
|
+
disabled?: boolean;
|
|
1645
|
+
|
|
1640
1646
|
/**
|
|
1641
1647
|
* Show a small indicator icon in the lower right corner of the button.
|
|
1642
1648
|
*/
|
package/src/IconButton.tsx
CHANGED
|
@@ -50,6 +50,7 @@ const IconButtonComponent: FC<IconButtonProps> = ({
|
|
|
50
50
|
accessibilityLabel,
|
|
51
51
|
confirmationHeading = "Confirm",
|
|
52
52
|
confirmationText = "Are you sure you want to continue?",
|
|
53
|
+
disabled = false,
|
|
53
54
|
iconName,
|
|
54
55
|
indicator,
|
|
55
56
|
indicatorText,
|
|
@@ -75,7 +76,10 @@ const IconButtonComponent: FC<IconButtonProps> = ({
|
|
|
75
76
|
let backgroundColor = theme.surface.primary;
|
|
76
77
|
let color = theme.text.inverted;
|
|
77
78
|
|
|
78
|
-
if (
|
|
79
|
+
if (disabled) {
|
|
80
|
+
backgroundColor = theme.surface.disabled;
|
|
81
|
+
color = theme.text.secondaryLight;
|
|
82
|
+
} else if (variant === "secondary") {
|
|
79
83
|
backgroundColor = theme.surface.neutralLight;
|
|
80
84
|
color = theme.surface.secondaryDark;
|
|
81
85
|
} else if (variant === "muted") {
|
|
@@ -100,7 +104,7 @@ const IconButtonComponent: FC<IconButtonProps> = ({
|
|
|
100
104
|
}
|
|
101
105
|
aria-label={accessLabel}
|
|
102
106
|
aria-role="button"
|
|
103
|
-
disabled={loading}
|
|
107
|
+
disabled={loading || disabled}
|
|
104
108
|
style={{
|
|
105
109
|
alignItems: "center",
|
|
106
110
|
backgroundColor,
|