UNPKG

@adyen/adyen-platform-experience-web

Version:

![Platform Experience header](https://github.com/Adyen/adyen-platform-experience-web/assets/7926613/18094965-9e01-450e-8dc9-ea84e6b22c2b)

37 lines (36 loc) 1.32 kB
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 };