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.33 kB
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 };