UNPKG

@adyen/kyc-components

Version:

This guide assumes that you have already an account with Adyen. A legalEntity needs to be created, and you need to have a `legalEntityId` to instatiate a Component.

129 lines (128 loc) 4.89 kB
try { let e = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof globalThis ? globalThis : "undefined" != typeof self ? self : {}, n = new e.Error().stack; n && (e._sentryDebugIds = e._sentryDebugIds || {}, e._sentryDebugIds[n] = "afade1bc-44f7-4e9b-b0f6-cda0460b7dcc", e._sentryDebugIdIdentifier = "sentry-dbid-afade1bc-44f7-4e9b-b0f6-cda0460b7dcc"); } catch (e) {} import { i as Typography, r as useTranslation } from "./translation-BFxyJ1c5.js"; import { r as TaskStatuses } from "./taskStatus-C7XU4UIF.js"; import { n as Skeleton } from "./Accordion-Btxq6sGi.js"; import { t as Avatar } from "./Avatar-CKmUpMXT.js"; import { t as OnboardingStatuses } from "./view-verification-status-CYHM_Ggf.js"; import { t as Tag } from "./Tag-BhU73i1R.js"; import cx from "classnames"; import { Fragment, jsx, jsxs } from "preact/jsx-runtime"; var EmbeddedStatus_module_default = { "embedded-status": "adyen-kyc-embedded-status", embeddedStatus: "adyen-kyc-embedded-status", "embedded-status-loading": "adyen-kyc-embedded-status-loading", embeddedStatusLoading: "adyen-kyc-embedded-status-loading", "embedded-status-avatar": "adyen-kyc-embedded-status-avatar", embeddedStatusAvatar: "adyen-kyc-embedded-status-avatar", "embedded-status-action-indicator": "adyen-kyc-embedded-status-action-indicator", embeddedStatusActionIndicator: "adyen-kyc-embedded-status-action-indicator", "embedded-status-info": "adyen-kyc-embedded-status-info", embeddedStatusInfo: "adyen-kyc-embedded-status-info" }; //#endregion //#region src/components/ui/molecules/EmbeddedStatus/statusToTag.ts /** * Maps a Status to Tag-compatible props * Similar to TaskItemStatus (without the css class overrides), * and should ideally handle view-verification-status as well */ var statusToTag = (status, uiT) => { switch (status) { case TaskStatuses.FINISHED: case OnboardingStatuses.VERIFIED: return { text: uiT(($) => $["verified"]), variant: "green" }; case TaskStatuses.SIGNED: case OnboardingStatuses.REJECTED: return { text: uiT(($) => $["rejected"]), variant: "red" }; case TaskStatuses.ERROR: return { text: uiT(($) => $["actionNeeded"]), variant: "red" }; case TaskStatuses.PROCESSING: case OnboardingStatuses.IN_REVIEW: case OnboardingStatuses.AWAITING_DATA: return { text: uiT(($) => $["inReview"]), variant: "grey" }; case OnboardingStatuses.UNSUCCESSFUL: return { text: uiT(($) => $["unsuccessful"]), variant: "red" }; default: return; } }; //#endregion //#region src/components/ui/molecules/EmbeddedStatus/EmbeddedStatus.tsx /** * UI-only component used to display a tag based on status or an action button */ var EmbeddedStatus = ({ title, subtitle, status, tag, iconName = "user", loading = false, onClick, light = false, className, actionIndicator, ...props }) => { const { t } = useTranslation("ui"); const statusTag = status ? statusToTag(status, t) : tag; const avatarVariant = light ? "tertiary" : "secondary"; return /* @__PURE__ */ jsxs("button", { type: "button", className: cx(className, EmbeddedStatus_module_default.embeddedStatus, "adyen-kyc-externalComponent", { [EmbeddedStatus_module_default.embeddedStatusLoading]: loading, [EmbeddedStatus_module_default.embeddedStatusLight]: light }), onClick, ...props, children: [ loading ? /* @__PURE__ */ jsx(Skeleton, { height: "44px", width: "44px", circle: true }) : /* @__PURE__ */ jsx(Avatar, { iconName, variant: avatarVariant, circle: true }), /* @__PURE__ */ jsx("section", { className: EmbeddedStatus_module_default.embeddedStatusInfo, children: loading ? /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Skeleton, { text: true, width: "20ch", height: "1em" }), /* @__PURE__ */ jsx(Skeleton, { text: true, width: "90%", height: "1em" })] }) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Typography, { variant: "body-stronger", el: "h3", children: title }), /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", el: "div", children: subtitle })] }) }), actionIndicator ? /* @__PURE__ */ jsx("section", { children: loading ? /* @__PURE__ */ jsx(Skeleton, { width: "5em", height: "2em" }) : /* @__PURE__ */ jsx(Typography, { el: "div", variant: "body-stronger", className: EmbeddedStatus_module_default.embeddedStatusActionIndicator, children: actionIndicator.text }) }) : statusTag?.text && /* @__PURE__ */ jsx("section", { children: loading ? /* @__PURE__ */ jsx(Skeleton, { width: "8ch", height: "1em" }) : /* @__PURE__ */ jsx(Tag, { variant: statusTag.variant, children: statusTag.text }) }) ] }); }; //#endregion export { statusToTag as n, EmbeddedStatus as t };