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

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