@adyen/adyen-platform-experience-web
Version:

37 lines (36 loc) • 1.32 kB
JavaScript
import { useState as R, useCallback as a, useMemo as i, useEffect as Y } from "../../external/preact/hooks/dist/hooks.module.js";
import { ButtonVariant as N } from "../../components/internal/Button/types.js";
import { CommitAction as t } from "./types.js";
import d from "../../core/Context/useCoreContext.js";
import { EMPTY_OBJECT as v } from "../../utils/value/constants.js";
import { boolOrFalse as O } from "../../utils/value/bool.js";
const S = ({ applyDisabled: A, applyTitle: m, resetDisabled: e, resetTitle: c } = v) => {
const { i18n: s } = d(), [n, o] = R(t.NONE), u = a(() => o(t.APPLY), [o]), C = a(() => o(t.CLEAR), [o]), r = a(() => o(t.NONE), [o]), f = i(
() => ({
disabled: O(A),
event: u,
title: (m == null ? void 0 : m.trim()) || s.get("apply"),
variant: N.PRIMARY
}),
[s, u, A, m]
), E = i(
() => ({
disabled: O(e),
event: C,
title: (c == null ? void 0 : c.trim()) || s.get("reset"),
variant: N.SECONDARY
}),
[s, C, e, c]
), P = i(() => [f, E], [f, E]), B = i(() => n !== t.NONE, [n]);
return Y(() => {
switch (n) {
case t.APPLY:
case t.CLEAR:
r();
break;
}
}, [n, r]), { commitAction: n, commitActionButtons: P, committing: B, resetCommitAction: r };
};
export {
S as default
};