datakeen-session-react 1.1.11 → 1.1.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +156 -55
- package/dist/index.d.ts +19 -2
- package/dist/index.js +61 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +33 -17723
- package/dist/index.mjs.map +1 -1
- package/package.json +35 -37
- package/postcss.config.js +6 -0
- package/rollup.dev.config.js +55 -0
- package/tailwind.config.js +9 -0
- package/dist/assets/index.d.ts +0 -6
- package/dist/components/DatakeenSession.d.ts +0 -21
- package/dist/components/icons/PoweredByIcon.d.ts +0 -5
- package/dist/components/icons/StartIcon.d.ts +0 -5
- package/dist/components/id-check/BeforePhoto.d.ts +0 -5
- package/dist/components/id-check/BeforeVersoPhoto.d.ts +0 -5
- package/dist/components/id-check/CameraError.d.ts +0 -7
- package/dist/components/id-check/CameraMask.d.ts +0 -9
- package/dist/components/id-check/OrientationToggle.d.ts +0 -6
- package/dist/components/id-check/Photo.d.ts +0 -5
- package/dist/components/id-check/PhotoConfirmation.d.ts +0 -13
- package/dist/components/id-check/PhotoProcessingLoader.d.ts +0 -11
- package/dist/components/jdi/JDIDocumentSelection.d.ts +0 -8
- package/dist/components/jdi/JDIDocumentUpload.d.ts +0 -9
- package/dist/components/jdi/JDIError.d.ts +0 -7
- package/dist/components/jdi/JDIIntroduction.d.ts +0 -8
- package/dist/components/jdi/JDIPreIntroduction.d.ts +0 -7
- package/dist/components/jdi/JDIProcessing.d.ts +0 -9
- package/dist/components/jdi/JDISuccess.d.ts +0 -6
- package/dist/components/selfie/SelfieConfirmation.d.ts +0 -8
- package/dist/components/selfie/Video.d.ts +0 -8
- package/dist/components/selfie/VideoResetStyles.d.ts +0 -6
- package/dist/components/selfie/hooks/useVideoRecorderStyles.d.ts +0 -6
- package/dist/components/selfie/selfie-flow/InstructionsSelfie.d.ts +0 -6
- package/dist/components/selfie/selfie-flow/SelfieFlow.d.ts +0 -6
- package/dist/components/selfie/selfie-flow/SelfiePreIntroduction.d.ts +0 -6
- package/dist/components/selfie/selfie-flow/SelfieRecorder.d.ts +0 -7
- package/dist/components/selfie/utils/videoElementStyles.d.ts +0 -14
- package/dist/components/session/ChooseCountryJDI.d.ts +0 -48
- package/dist/components/session/ContactInfoForm.d.ts +0 -3
- package/dist/components/session/DocumentCheck.d.ts +0 -13
- package/dist/components/session/EndFlow.d.ts +0 -21
- package/dist/components/session/EndSession.d.ts +0 -0
- package/dist/components/session/IDCheck.d.ts +0 -8
- package/dist/components/session/JDICheck.d.ts +0 -9
- package/dist/components/session/MobileRedirect.d.ts +0 -8
- package/dist/components/session/OTPVerification.d.ts +0 -12
- package/dist/components/session/Selfie.d.ts +0 -9
- package/dist/components/session/SessionExpired.d.ts +0 -11
- package/dist/components/session/StartSession.d.ts +0 -5
- package/dist/components/session/UserInputForm.d.ts +0 -3
- package/dist/components/start-flow/CGU.d.ts +0 -4
- package/dist/components/start-flow/Start.d.ts +0 -4
- package/dist/components/ui/Body.d.ts +0 -5
- package/dist/components/ui/Button.d.ts +0 -21
- package/dist/components/ui/ButtonDesktop.d.ts +0 -9
- package/dist/components/ui/Camera.d.ts +0 -0
- package/dist/components/ui/Card.d.ts +0 -9
- package/dist/components/ui/OTPInput.d.ts +0 -11
- package/dist/components/ui/Paper.d.ts +0 -7
- package/dist/components/ui/PoweredBy.d.ts +0 -5
- package/dist/components/ui/QRCodeDisplay.d.ts +0 -10
- package/dist/components/ui/Select.d.ts +0 -3
- package/dist/components/ui/SelectComponent.d.ts +0 -16
- package/dist/components/ui/SelectDrawer.d.ts +0 -12
- package/dist/components/ui/Subtitle.d.ts +0 -5
- package/dist/components/ui/Title.d.ts +0 -5
- package/dist/config/env.d.ts +0 -5
- package/dist/context/DocumentContext.d.ts +0 -13
- package/dist/hooks/useIsMobile.d.ts +0 -2
- package/dist/hooks/useSession.d.ts +0 -9
- package/dist/index.css +0 -1
- package/dist/services/analysis.d.ts +0 -2
- package/dist/services/api.d.ts +0 -38
- package/dist/services/cameraService.d.ts +0 -17
- package/dist/services/documentDetectionService.d.ts +0 -14
- package/dist/services/documentService.d.ts +0 -0
- package/dist/services/sessionService.d.ts +0 -254
- package/dist/services/utils.d.ts +0 -3
- package/dist/types/camera.d.ts +0 -16
- package/dist/types/contactInfo.d.ts +0 -12
- package/dist/types/selfie.d.ts +0 -4
- package/dist/types/session.d.ts +0 -21
- package/dist/types/ui/select.d.ts +0 -11
- package/dist/types/uploadFiles.d.ts +0 -4
- package/dist/types/userInput.d.ts +0 -26
- package/dist/utils/chooseDocuments/frenchDocumentTypes.d.ts +0 -9
- package/dist/utils/chooseDocuments/spanishDocumentTypes.d.ts +0 -9
- package/dist/utils/jdiCountry.d.ts +0 -10
- package/dist/utils/languages.d.ts +0 -4
- package/dist/utils/mimeTypes.d.ts +0 -1
- package/dist/utils/stepsAnalysis.d.ts +0 -18
- package/dist/utils/utils.d.ts +0 -5
- package/vite.config.mts +0 -51
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Button component
|
|
3
|
-
*
|
|
4
|
-
* A customizable button component with consistent styling.
|
|
5
|
-
* Features a teal background, rounded corners, and hover/active states.
|
|
6
|
-
*
|
|
7
|
-
* @param {Object} props - Component props
|
|
8
|
-
* @param {React.ReactNode} props.children - Content to be rendered inside the button
|
|
9
|
-
* @param {string} [props.className] - Optional additional CSS classes to apply
|
|
10
|
-
* @param {() => void} [props.onClick] - Optional click handler function
|
|
11
|
-
* @param {boolean} [props.disabled=false] - Whether the button is disabled (defaults to false)
|
|
12
|
-
* @returns {JSX.Element} Styled button element containing the children
|
|
13
|
-
*/
|
|
14
|
-
interface ButtonProps {
|
|
15
|
-
children: React.ReactNode;
|
|
16
|
-
className?: string;
|
|
17
|
-
onClick?: () => void;
|
|
18
|
-
disabled?: boolean;
|
|
19
|
-
}
|
|
20
|
-
declare const Button: ({ children, className, onClick, disabled, }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
export default Button;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
interface ButtonDesktopProps {
|
|
2
|
-
children: React.ReactNode;
|
|
3
|
-
className?: string;
|
|
4
|
-
onClick?: () => void;
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
type: "continue" | "back";
|
|
7
|
-
}
|
|
8
|
-
declare const ButtonDesktop: ({ children, className, onClick, disabled, type, }: ButtonDesktopProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export default ButtonDesktop;
|
|
File without changes
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import * as React from "react";
|
|
2
|
-
declare function Card({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
3
|
-
declare function CardHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
4
|
-
declare function CardTitle({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
5
|
-
declare function CardDescription({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
declare function CardAction({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
declare function CardContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
8
|
-
declare function CardFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent, };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
interface OTPInputProps {
|
|
3
|
-
length?: number;
|
|
4
|
-
value: string;
|
|
5
|
-
onChange: (value: string) => void;
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
className?: string;
|
|
8
|
-
error?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const OTPInput: React.FC<OTPInputProps>;
|
|
11
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
interface QRCodeDisplayProps {
|
|
2
|
-
url: string;
|
|
3
|
-
title?: string;
|
|
4
|
-
subtitle?: string;
|
|
5
|
-
onBack?: () => void;
|
|
6
|
-
onContinueOnPC?: () => void;
|
|
7
|
-
showButtons?: boolean;
|
|
8
|
-
}
|
|
9
|
-
declare const QRCodeDisplay: ({ url, title, subtitle, onBack, onContinueOnPC, showButtons, }: QRCodeDisplayProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
-
export default QRCodeDisplay;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
interface SelectOption {
|
|
3
|
-
value: string;
|
|
4
|
-
label: string;
|
|
5
|
-
}
|
|
6
|
-
interface SelectProps {
|
|
7
|
-
options: SelectOption[];
|
|
8
|
-
value: string;
|
|
9
|
-
onValueChange: (value: string) => void;
|
|
10
|
-
placeholder?: string;
|
|
11
|
-
className?: string;
|
|
12
|
-
disabled?: boolean;
|
|
13
|
-
error?: boolean;
|
|
14
|
-
}
|
|
15
|
-
export declare const Select: React.FC<SelectProps>;
|
|
16
|
-
export {};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { DrawerItem } from '../../utils/jdiCountry';
|
|
3
|
-
type Props = {
|
|
4
|
-
title: string;
|
|
5
|
-
items: DrawerItem[];
|
|
6
|
-
selectedItem: DrawerItem | null;
|
|
7
|
-
onChange: (item: DrawerItem | null) => void;
|
|
8
|
-
className?: string;
|
|
9
|
-
errorMessage?: string;
|
|
10
|
-
};
|
|
11
|
-
export declare const SelectDrawer: React.FC<Props>;
|
|
12
|
-
export {};
|
package/dist/config/env.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
import { DrawerItem } from '../utils/jdiCountry';
|
|
3
|
-
type DocumentContextType = {
|
|
4
|
-
selectedDocumentType: DrawerItem | null;
|
|
5
|
-
setSelectedDocumentType: (documentType: DrawerItem | null) => void;
|
|
6
|
-
};
|
|
7
|
-
export declare const DocumentContext: import('react').Context<DocumentContextType>;
|
|
8
|
-
interface DocumentProviderProps {
|
|
9
|
-
children: ReactNode;
|
|
10
|
-
}
|
|
11
|
-
export declare const DocumentProvider: ({ children }: DocumentProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
-
export declare const useDocumentContext: () => DocumentContextType;
|
|
13
|
-
export {};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { UseSessionReturn, SessionConfig } from '../types/session';
|
|
2
|
-
/**
|
|
3
|
-
* Custom hook to manage the session component.
|
|
4
|
-
* @param {string} sessionId - The ID of the session.
|
|
5
|
-
* @param {SessionConfig} sessionConfig - Configuration for the session (optional).
|
|
6
|
-
* @returns {UseSessionReturn} - An object containing the session component. The session component is a React element that can be rendered in your application.
|
|
7
|
-
*/
|
|
8
|
-
declare const useSession: (sessionId: string, sessionConfig?: SessionConfig) => UseSessionReturn;
|
|
9
|
-
export default useSession;
|
package/dist/index.css
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-100:oklch(93.6% .032 17.717);--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-red-800:oklch(44.4% .177 26.899);--color-red-900:oklch(39.6% .141 25.723);--color-yellow-50:oklch(98.7% .026 102.212);--color-yellow-200:oklch(94.5% .129 101.54);--color-yellow-500:oklch(79.5% .184 86.047);--color-yellow-600:oklch(68.1% .162 75.834);--color-yellow-800:oklch(47.6% .114 61.907);--color-yellow-900:oklch(42.1% .095 57.708);--color-green-50:oklch(98.2% .018 155.826);--color-green-100:oklch(96.2% .044 156.743);--color-green-200:oklch(92.5% .084 155.995);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-teal-50:oklch(98.4% .014 180.72);--color-teal-200:oklch(91% .096 180.426);--color-teal-300:oklch(85.5% .138 181.071);--color-teal-600:oklch(60% .118 184.704);--color-blue-50:oklch(97% .014 254.604);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-800:oklch(42.4% .199 265.638);--color-blue-900:oklch(37.9% .146 265.522);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-900:oklch(21% .034 264.665);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-relaxed:1.625;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\@container\/card-header{container:card-header/inline-size}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.top-full{top:100%}.right-0{right:calc(var(--spacing)*0)}.right-2{right:calc(var(--spacing)*2)}.right-4{right:calc(var(--spacing)*4)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.left-0{left:calc(var(--spacing)*0)}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.col-start-2{grid-column-start:2}.row-span-2{grid-row:span 2/span 2}.row-start-1{grid-row-start:1}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-6{margin-inline:calc(var(--spacing)*6)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-1{margin-right:calc(var(--spacing)*1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mr-4{margin-right:calc(var(--spacing)*4)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-5{margin-bottom:calc(var(--spacing)*5)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.mb-\[2px\]{margin-bottom:2px}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.aspect-\[3\/2\]{aspect-ratio:3/2}.h-1{height:calc(var(--spacing)*1)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-16{height:calc(var(--spacing)*16)}.h-20{height:calc(var(--spacing)*20)}.h-48{height:calc(var(--spacing)*48)}.h-64{height:calc(var(--spacing)*64)}.h-80{height:calc(var(--spacing)*80)}.h-\[18px\]{height:18px}.h-\[48px\]{height:48px}.h-\[60px\]{height:60px}.h-\[75\%\]{height:75%}.h-auto{height:auto}.h-full{height:100%}.h-screen{height:100vh}.max-h-32{max-height:calc(var(--spacing)*32)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\[30vh\]{max-height:30vh}.w-1{width:calc(var(--spacing)*1)}.w-3{width:calc(var(--spacing)*3)}.w-3\/5{width:60%}.w-4{width:calc(var(--spacing)*4)}.w-4\/5{width:80%}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-20{width:calc(var(--spacing)*20)}.w-48{width:calc(var(--spacing)*48)}.w-64{width:calc(var(--spacing)*64)}.w-80{width:calc(var(--spacing)*80)}.w-\[90px\]{width:90px}.w-\[322px\]{width:322px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow{flex-grow:1}.scale-x-\[-1\]{--tw-scale-x:-1;scale:var(--tw-scale-x)var(--tw-scale-y)}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.auto-rows-min{grid-auto-rows:min-content}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-rows-\[auto_auto\]{grid-template-rows:auto auto}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-6{gap:calc(var(--spacing)*6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*3)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*3)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*5)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*5)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*8)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*8)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-x-1>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing)*1)*var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-x-reverse)))}.self-start{align-self:flex-start}.justify-self-end{justify-self:flex-end}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[12px\]{border-radius:12px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-t-2xl{border-top-left-radius:var(--radius-2xl);border-top-right-radius:var(--radius-2xl)}.border,.border-1{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-t-3{border-top-style:var(--tw-border-style);border-top-width:3px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-b-2{border-bottom-style:var(--tw-border-style);border-bottom-width:2px}.border-b-3{border-bottom-style:var(--tw-border-style);border-bottom-width:3px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[\#3C3C40\]{border-color:#3c3c40}.border-\[\#11E5C5\]{border-color:#11e5c5}.border-blue-200{border-color:var(--color-blue-200)}.border-gray-100{border-color:var(--color-gray-100)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-green-200{border-color:var(--color-green-200)}.border-red-200{border-color:var(--color-red-200)}.border-red-500{border-color:var(--color-red-500)}.border-teal-200{border-color:var(--color-teal-200)}.border-teal-300{border-color:var(--color-teal-300)}.border-yellow-200{border-color:var(--color-yellow-200)}.border-t-\[\#11E5C5\]{border-top-color:#11e5c5}.border-t-blue-500{border-top-color:var(--color-blue-500)}.border-t-transparent{border-top-color:#0000}.border-r-\[\#11E5C5\]{border-right-color:#11e5c5}.border-b-\[\#11E5C5\]{border-bottom-color:#11e5c5}.border-l-transparent{border-left-color:#0000}.bg-\[\#11E5C5\]{background-color:#11e5c5}.bg-black{background-color:var(--color-black)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-600{background-color:var(--color-blue-600)}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-green-50{background-color:var(--color-green-50)}.bg-green-100{background-color:var(--color-green-100)}.bg-green-500{background-color:var(--color-green-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-100{background-color:var(--color-red-100)}.bg-red-500{background-color:var(--color-red-500)}.bg-teal-50\/30{background-color:#f0fdfa4d}@supports (color:color-mix(in lab,red,red)){.bg-teal-50\/30{background-color:color-mix(in oklab,var(--color-teal-50)30%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-50{background-color:var(--color-yellow-50)}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-black\/30{--tw-gradient-from:#0000004d}@supports (color:color-mix(in lab,red,red)){.from-black\/30{--tw-gradient-from:color-mix(in oklab,var(--color-black)30%,transparent)}}.from-black\/30{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-1{padding:calc(var(--spacing)*1)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-8{padding:calc(var(--spacing)*8)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-1{padding-block:calc(var(--spacing)*1)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.py-6{padding-block:calc(var(--spacing)*6)}.py-8{padding-block:calc(var(--spacing)*8)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-5{padding-top:calc(var(--spacing)*5)}.pt-8{padding-top:calc(var(--spacing)*8)}.pt-11{padding-top:calc(var(--spacing)*11)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-\[110\%\]{--tw-leading:110%;line-height:110%}.leading-\[120\%\]{--tw-leading:120%;line-height:120%}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#3C3C40\]{color:#3c3c40}.text-\[\#11E5C5\]{color:#11e5c5}.text-blue-600{color:var(--color-blue-600)}.text-blue-800{color:var(--color-blue-800)}.text-blue-900{color:var(--color-blue-900)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-900{color:var(--color-gray-900)}.text-green-500{color:var(--color-green-500)}.text-green-600{color:var(--color-green-600)}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-red-500{color:var(--color-red-500)}.text-red-600{color:var(--color-red-600)}.text-red-800{color:var(--color-red-800)}.text-red-900{color:var(--color-red-900)}.text-teal-600{color:var(--color-teal-600)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.text-yellow-600{color:var(--color-yellow-600)}.text-yellow-800{color:var(--color-yellow-800)}.text-yellow-900{color:var(--color-yellow-900)}.underline{text-decoration-line:underline}.placeholder-gray-500::placeholder{color:var(--color-gray-500)}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-100{opacity:1}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media (hover:hover){.hover\:border-gray-400:hover{border-color:var(--color-gray-400)}.hover\:bg-\[\#3c3c401e\]:hover{background-color:#3c3c401e}.hover\:bg-\[\#7dffeb\]:hover{background-color:#7dffeb}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\:bg-teal-50:hover{background-color:var(--color-teal-50)}.hover\:text-\[\#0FC5A8\]:hover{color:#0fc5a8}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:underline:hover{text-decoration-line:underline}}.focus\:border-transparent:focus{border-color:#0000}.focus\:bg-\[\#41f6db25\]:focus{background-color:#41f6db25}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[\#11E5C5\]:focus{--tw-ring-color:#11e5c5}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.active\:bg-\[\#11e5c57c\]:active{background-color:#11e5c57c}.active\:bg-gray-200:active{background-color:var(--color-gray-200)}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.has-data-\[slot\=card-action\]\:grid-cols-\[1fr_auto\]:has([data-slot=card-action]){grid-template-columns:1fr auto}.data-\[state\=checked\]\:border-\[\#11E5C5\][data-state=checked]{border-color:#11e5c5}.data-\[state\=checked\]\:bg-\[\#11E5C5\][data-state=checked]{background-color:#11e5c5}@media (min-width:40rem){.sm\:mb-2{margin-bottom:calc(var(--spacing)*2)}.sm\:pt-4{padding-top:calc(var(--spacing)*4)}.sm\:pb-4{padding-bottom:calc(var(--spacing)*4)}}@media (min-width:48rem){.md\:static{position:static}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-14{height:calc(var(--spacing)*14)}.md\:h-56{height:calc(var(--spacing)*56)}.md\:h-80{height:calc(var(--spacing)*80)}.md\:w-14{width:calc(var(--spacing)*14)}.md\:max-w-xs{max-width:var(--container-xs)}.md\:gap-3{gap:calc(var(--spacing)*3)}.md\:border-t-0{border-top-style:var(--tw-border-style);border-top-width:0}.md\:p-0{padding:calc(var(--spacing)*0)}.md\:p-6{padding:calc(var(--spacing)*6)}.md\:px-8{padding-inline:calc(var(--spacing)*8)}.md\:py-4{padding-block:calc(var(--spacing)*4)}.md\:py-8{padding-block:calc(var(--spacing)*8)}.md\:pb-8{padding-bottom:calc(var(--spacing)*8)}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.md\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.md\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.md\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media (min-width:64rem){.lg\:h-\[600px\]{height:600px}.lg\:w-\[600px\]{width:600px}.lg\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}}.\[\.border-b\]\:pb-6.border-b{padding-bottom:calc(var(--spacing)*6)}.\[\.border-t\]\:pt-6.border-t{padding-top:calc(var(--spacing)*6)}}html{height:-webkit-fill-available}body{min-height:100vh;min-height:-webkit-fill-available;font-family:Open Sans,sans-serif}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}.force-style-selfie button.btn{color:#3c3c40!important}.force-style-selfie h1{font-family:sans-serif;font-size:20px!important;color:#3c3c40!important}.force-style-selfie{font-family:sans-serif;font-size:10px!important}.force-style-selfie.btn{color:#000!important}.selfie{--uni-primary-color: #11e5c5;--uni-secondary-color: #0a9983;--uni-primary-color-lighter: #37a998;--uni-secondary-color-lighter: #1cbeaa;--uni-alt-color: #086e5f;--uni-alt-color-lighter: #0d9485;--uni-light-color-variant-1: #d0f7f2;--uni-light-color-variant-2: #b2ece5;--uni-light-color: #fff;--uni-dark-color: #202020;--uni-error-color: #f44336;--uni-btn-padding: 10px 15px;--uni-btn-border: solid 0px;--uni-btn-border-radius: 12px;--uni-btn-font-size: 16px;--uni-btn-text-transform: normal;--uni-btn-border-outlined: solid 1px;--uni-btn-label-margin: 10px 0px;--uni-btn-disabled-bg-color: #eee;--uni-card-bg-color: rgba(51, 51, 51, .05)}body.recording-selfie{overflow:hidden;position:fixed;width:100%;height:100%;touch-action:none}.selfie uni-video-recorder{display:block;margin:0 auto;width:100%;height:100%;max-height:100%;object-fit:cover}.selfie .video-container{display:flex;justify-content:center;align-items:center;width:100%;height:100%;overflow:hidden;position:relative;flex:1 1 auto}.selfie uni-video-recorder,.selfie uni-video-recorder *{max-height:100vh;overflow:hidden!important}html.selfie-active,body.selfie-active{overflow:hidden;height:100%;position:fixed;width:100%}.selfie uni-video-recorder::part(root),.selfie uni-video-recorder::shadow-dom(root){max-height:100vh;overflow:hidden!important}html,body{overscroll-behavior-y:contain}.selfie-guide-frame{transition:box-shadow .3s ease;border:2px solid #11e5c5;border-radius:50%}@keyframes pulse-border{0%{box-shadow:0 0 #11e5c5b3}70%{box-shadow:0 0 0 10px #11e5c500}to{box-shadow:0 0 #11e5c500}}.selfie-record-btn{animation:pulse-border 2s infinite}.selfie-instructions{background-color:#fff;border-radius:8px;padding:16px;margin:16px;box-shadow:0 2px 10px #0000001a}.recording-indicator{position:absolute;top:16px;right:16px;display:flex;align-items:center;background-color:#00000080;padding:4px 8px;border-radius:16px}.recording-dot{width:10px;height:10px;border-radius:50%;background-color:#ff3b30;margin-right:8px;animation:pulse 1.5s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.selfie-confirmation-enter{opacity:0;transform:scale(.95)}.selfie-confirmation-enter-active{opacity:1;transform:scale(1);transition:opacity .3s,transform .3s}.selfie-preview{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;border:2px solid #11e5c5;transition:transform .2s ease-in-out}.selfie-preview:hover{transform:scale(1.02)}.selfie-preview:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0000 80%,#0003);pointer-events:none}.selfie button .loading-dots span{background-color:#fff!important}.loading-dots span{animation:loadingDots 1.4s infinite ease-in-out both}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loadingDots{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.alt-button{padding:10px 16px;border-radius:8px;font-size:14px;transition:all .2s ease;border:1px solid #e2e8f0}.alt-button:hover{background-color:#f8fafc}.alt-button:active{transform:translateY(1px)}uni-video-recorder::part(video-container),uni-video-recorder::shadow-dom(video-container){width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important}.selfie uni-video-recorder video,.selfie uni-video-recorder canvas{width:100%!important;height:100%!important;object-fit:cover!important;max-height:none!important}.video-fullscreen-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:center;overflow:hidden}.selfie-recorder-container{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;display:flex;flex-direction:column}.selfie-fullscreen,.selfie-fullscreen body{height:100%;overflow:hidden}.selfie-fullscreen #root,.selfie-fullscreen [data-reactroot]{height:100%}.selfie .video-container uni-video-recorder{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important}.selfie *{box-sizing:border-box}.selfie-parent{height:100%;display:flex;flex-direction:column}@media (max-height: 600px){.selfie-guide-frame{height:250px!important;max-width:250px!important}}@media (max-height: 500px){.selfie-guide-frame{height:200px!important;max-width:200px!important}}.selfie uni-video-recorder,uni-video-recorder::part(root),uni-video-recorder::shadow-dom(root),uni-video-recorder video,uni-video-recorder canvas{border-radius:0!important;overflow:hidden!important}uni-video-recorder::part(video-container),uni-video-recorder::shadow-dom(video-container),uni-video-recorder::part(video),uni-video-recorder::shadow-dom(video){border-radius:0!important}.video-container>div,.video-container>div>*,.selfie uni-video-recorder>*{border-radius:0!important}.video-recorder-no-radius,.video-recorder-no-radius::part(video),.video-recorder-no-radius::shadow-dom(video),.video-recorder-no-radius video,.video-recorder-no-radius canvas,.video-recorder-no-radius *{border-radius:0!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;overflow:hidden!important}.selfie video,.selfie canvas,.selfie uni-video-recorder,.selfie uni-video-recorder *,.video-container *,uni-video-recorder,uni-video-recorder *,uni-video-recorder *:before,uni-video-recorder *:after,uni-video-recorder div,uni-video-recorder video,uni-video-recorder canvas{border-radius:0!important;-webkit-border-radius:0!important;-moz-border-radius:0!important;overflow:hidden!important;background:transparent!important}:host,:host(*),::part(*),::shadow-dom(*){border-radius:0!important;-webkit-border-radius:0!important;-moz-border-radius:0!important}.video-container uni-video-recorder{border-radius:0!important;transform:translateZ(0)}:root{--uni-video-recorder-border-radius: 0 !important;--uni-border-radius: 0 !important}.selfie .video-container uni-video-recorder{--border-radius: 0 !important;border-radius:0!important;overflow:hidden!important}.selfie button{background-color:var(--uni-primary-color, #11e5c5)!important;color:#3c3c40!important;border-radius:12px!important}.selfie button:hover{background-color:#7dffeb!important}.selfie button:active{background-color:#11e5c57c!important}.selfie button:disabled{background-color:#e2e8f0!important;opacity:.6!important;cursor:not-allowed!important}.video-js,.video-js *,.vjs-default-skin,.vjs-big-play-button,.vjs-control-bar,uni-video-recorder::shadow-dom(video-js),uni-video-recorder::part(video-js){border-radius:0!important;background-color:transparent!important;overflow:hidden!important}.video-js{width:100%!important;height:100%!important}.video-js video{object-fit:cover!important;width:100%!important;height:100%!important;border-radius:0!important}.vjs-control-bar,.vjs-big-play-button,.vjs-menu-button,.vjs-menu-content,.vjs-modal-dialog,.vjs-volume-control,.vjs-progress-control{border-radius:0!important}.video-container:before,.video-container:after,.selfie:before,.selfie:after,uni-video-recorder:before,uni-video-recorder:after{display:none!important}::part(video),::shadow-dom(video),::part(canvas),::shadow-dom(canvas){border-radius:0!important;background:transparent!important}@supports (-webkit-appearance: none){.selfie video,.selfie canvas,uni-video-recorder video,uni-video-recorder canvas{border-radius:0!important;-webkit-border-radius:0!important;mask-image:none!important;-webkit-mask-image:none!important;transform:translateZ(0);-webkit-transform:translateZ(0)}}@-moz-document url-prefix(){.selfie video,.selfie canvas,uni-video-recorder video,uni-video-recorder canvas{border-radius:0!important}}.selfie button,button.selfie-button,.selfie-container button,.selfie .sticky button{background-color:#11e5c5!important;border-radius:12px!important;color:#3c3c40!important;overflow:visible!important}.selfie button:disabled,button.selfie-button:disabled,.selfie-container button:disabled,.selfie .sticky button:disabled{background-color:#e2e8f0!important}.selfie-button{background-color:#11e5c5!important;color:#3c3c40!important;border-radius:12px!important;cursor:pointer!important}.selfie-button:hover{background-color:#7dffeb!important}.selfie-button:active{background-color:#11e5c57c!important}.selfie-button:disabled{background-color:#e2e8f0!important;opacity:.6!important;cursor:not-allowed!important}.selfie-button .loading-dots span{background-color:#fff!important}
|
package/dist/services/api.d.ts
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
2
|
-
export interface ApiConfig {
|
|
3
|
-
baseURL: string;
|
|
4
|
-
timeout?: number;
|
|
5
|
-
retryAttempts?: number;
|
|
6
|
-
retryDelay?: number;
|
|
7
|
-
headers?: Record<string, string>;
|
|
8
|
-
}
|
|
9
|
-
export interface ApiResponse<T = any> {
|
|
10
|
-
data: T;
|
|
11
|
-
message?: string;
|
|
12
|
-
success: boolean;
|
|
13
|
-
status: number;
|
|
14
|
-
}
|
|
15
|
-
export interface ApiError {
|
|
16
|
-
message: string;
|
|
17
|
-
status?: number;
|
|
18
|
-
code?: string;
|
|
19
|
-
details?: any;
|
|
20
|
-
}
|
|
21
|
-
export declare class ApiService {
|
|
22
|
-
private client;
|
|
23
|
-
private config;
|
|
24
|
-
constructor(config: ApiConfig);
|
|
25
|
-
private setupInterceptors;
|
|
26
|
-
private handleError;
|
|
27
|
-
get<T = any>(url: string, config?: AxiosRequestConfig): Promise<ApiResponse<T>>;
|
|
28
|
-
post<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<ApiResponse<T>>;
|
|
29
|
-
put<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<ApiResponse<T>>;
|
|
30
|
-
patch<T = any>(url: string, data?: any, config?: AxiosRequestConfig): Promise<ApiResponse<T>>;
|
|
31
|
-
delete<T = any>(url: string, config?: AxiosRequestConfig): Promise<ApiResponse<T>>;
|
|
32
|
-
setDefaultHeader(key: string, value: string): void;
|
|
33
|
-
removeDefaultHeader(key: string): void;
|
|
34
|
-
createInstance(config: Partial<ApiConfig>): ApiService;
|
|
35
|
-
getRawClient(): AxiosInstance;
|
|
36
|
-
}
|
|
37
|
-
export declare const createApiService: (config: ApiConfig) => ApiService;
|
|
38
|
-
export declare const apiService: ApiService;
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { CameraFacingMode } from '../types/camera';
|
|
2
|
-
export declare class CameraService {
|
|
3
|
-
private stream;
|
|
4
|
-
private devMode;
|
|
5
|
-
private mockImagePath;
|
|
6
|
-
private startMockCamera;
|
|
7
|
-
startCamera(videoElement: HTMLVideoElement | null, orientation: boolean, facingMode?: CameraFacingMode): Promise<{
|
|
8
|
-
success: boolean;
|
|
9
|
-
error?: string;
|
|
10
|
-
}>;
|
|
11
|
-
captureFrame(videoElement: HTMLVideoElement | null, canvasElement: HTMLCanvasElement | null): string | null;
|
|
12
|
-
stopCamera(): void;
|
|
13
|
-
setDevMode(enabled: boolean): void;
|
|
14
|
-
setMockImage(imagePath: string): void;
|
|
15
|
-
isDevModeEnabled(): boolean;
|
|
16
|
-
}
|
|
17
|
-
export declare const cameraService: CameraService;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export declare class DocumentDetectionService {
|
|
2
|
-
private animationFrameId;
|
|
3
|
-
private detectionTimeoutId;
|
|
4
|
-
private model;
|
|
5
|
-
private isDetecting;
|
|
6
|
-
private readonly DETECTION_INTERVAL_MS;
|
|
7
|
-
loadModel(): Promise<void>;
|
|
8
|
-
startDocumentDetection(videoElement: HTMLVideoElement | null, canvasElement: HTMLCanvasElement | null, onDocumentDetected: (imageDataUrl: string) => void): Promise<{
|
|
9
|
-
stop: () => void;
|
|
10
|
-
}>;
|
|
11
|
-
private scheduleNextDetection;
|
|
12
|
-
stopDocumentDetection(): void;
|
|
13
|
-
}
|
|
14
|
-
export declare const documentDetectionService: DocumentDetectionService;
|
|
File without changes
|
|
@@ -1,254 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session Service
|
|
3
|
-
*
|
|
4
|
-
* Service for interacting with the Datakeen Session API.
|
|
5
|
-
* Handles fetching session data by ID.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Interface for session template node
|
|
9
|
-
*/
|
|
10
|
-
interface SessionTemplateNode {
|
|
11
|
-
id: string;
|
|
12
|
-
type: string;
|
|
13
|
-
title: string;
|
|
14
|
-
description: string;
|
|
15
|
-
position: {
|
|
16
|
-
x: number;
|
|
17
|
-
y: number;
|
|
18
|
-
};
|
|
19
|
-
options: unknown[];
|
|
20
|
-
selectedOptions: string[];
|
|
21
|
-
requiredDocumentType?: string;
|
|
22
|
-
isRequired: boolean;
|
|
23
|
-
order: number;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* Interface for session template edge
|
|
27
|
-
*/
|
|
28
|
-
interface SessionTemplateEdge {
|
|
29
|
-
id: string;
|
|
30
|
-
source: string;
|
|
31
|
-
target: string;
|
|
32
|
-
}
|
|
33
|
-
/**
|
|
34
|
-
* Interface for session template
|
|
35
|
-
*/
|
|
36
|
-
interface SessionTemplate {
|
|
37
|
-
id: string;
|
|
38
|
-
name: string;
|
|
39
|
-
description: string;
|
|
40
|
-
nodes: SessionTemplateNode[];
|
|
41
|
-
edges: SessionTemplateEdge[];
|
|
42
|
-
groupId: string;
|
|
43
|
-
userId: string | null;
|
|
44
|
-
created_at: string;
|
|
45
|
-
updated_at: string;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Interface for session data
|
|
49
|
-
*/
|
|
50
|
-
export interface SessionData {
|
|
51
|
-
id: string;
|
|
52
|
-
userId: string | null;
|
|
53
|
-
token: string;
|
|
54
|
-
templateId: string;
|
|
55
|
-
templateKey: string;
|
|
56
|
-
expireTime: number;
|
|
57
|
-
status: string;
|
|
58
|
-
result: Record<string, unknown>;
|
|
59
|
-
landingPage: unknown;
|
|
60
|
-
withSelfie: boolean | null;
|
|
61
|
-
groupId: string | null;
|
|
62
|
-
userInput: Record<string, unknown>;
|
|
63
|
-
contactInfo?: {
|
|
64
|
-
email: string;
|
|
65
|
-
phoneNumber: string;
|
|
66
|
-
};
|
|
67
|
-
callbackURL: string;
|
|
68
|
-
webhookURL: string;
|
|
69
|
-
analysisTemplateId: string | null;
|
|
70
|
-
userAgent: unknown[];
|
|
71
|
-
mobile: boolean;
|
|
72
|
-
analysisId: string | null;
|
|
73
|
-
createdAt: string;
|
|
74
|
-
updatedAt: string;
|
|
75
|
-
auditTrail: unknown[];
|
|
76
|
-
user: unknown | null;
|
|
77
|
-
analysis: unknown[];
|
|
78
|
-
template: SessionTemplate;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Fetches session data by ID from the Datakeen backend
|
|
82
|
-
*
|
|
83
|
-
* @param sessionId - The unique identifier of the session
|
|
84
|
-
* @returns The session data
|
|
85
|
-
*/
|
|
86
|
-
export declare const fetchSessionById: (sessionId: string) => Promise<SessionData>;
|
|
87
|
-
/**
|
|
88
|
-
* Determines if the session template has a specific type of node
|
|
89
|
-
*
|
|
90
|
-
* @param template - The session template
|
|
91
|
-
* @param nodeType - The type of node to check for
|
|
92
|
-
* @returns true if the template has a node of the specified type, false otherwise
|
|
93
|
-
*/
|
|
94
|
-
export declare const hasNodeType: (template: SessionTemplate, nodeType: string) => boolean;
|
|
95
|
-
/**
|
|
96
|
-
* Determines if the session template has a node with a specific requiredDocumentType
|
|
97
|
-
*
|
|
98
|
-
* @param template - The session template
|
|
99
|
-
* @param requiredDocumentType - The requiredDocumentType to check for
|
|
100
|
-
* @returns true if the template has a node with the specified requiredDocumentType, false otherwise
|
|
101
|
-
*/
|
|
102
|
-
export declare const hasDocumentTypeNode: (template: SessionTemplate, requiredDocumentType: string) => boolean;
|
|
103
|
-
/**
|
|
104
|
-
* Gets all nodes of a specific type
|
|
105
|
-
*
|
|
106
|
-
* @param template - The session template
|
|
107
|
-
* @param nodeType - The type of node to get
|
|
108
|
-
* @returns Array of nodes matching the type
|
|
109
|
-
*/
|
|
110
|
-
export declare const getNodesByType: (template: SessionTemplate, nodeType: string) => SessionTemplateNode[];
|
|
111
|
-
/**
|
|
112
|
-
* Gets all nodes with a specific requiredDocumentType
|
|
113
|
-
*
|
|
114
|
-
* @param template - The session template
|
|
115
|
-
* @param requiredDocumentType - The requiredDocumentType to get
|
|
116
|
-
* @returns Array of nodes matching the requiredDocumentType
|
|
117
|
-
*/
|
|
118
|
-
export declare const getNodesByDocumentType: (template: SessionTemplate, requiredDocumentType: string) => SessionTemplateNode[];
|
|
119
|
-
/**
|
|
120
|
-
* Get document options for a specific document type
|
|
121
|
-
*
|
|
122
|
-
* @param template - The session template
|
|
123
|
-
* @param requiredDocumentType - The document type to get options for
|
|
124
|
-
* @returns Array of document options (empty if none found)
|
|
125
|
-
*/
|
|
126
|
-
export declare const getDocumentOptions: (template: SessionTemplate, requiredDocumentType: string) => string[];
|
|
127
|
-
/**
|
|
128
|
-
* Determines if the session template has a selfie step
|
|
129
|
-
*
|
|
130
|
-
* @param template - The session template
|
|
131
|
-
* @returns true if the template has a selfie step, false otherwise
|
|
132
|
-
*/
|
|
133
|
-
export declare const hasSelfieCaptureStep: (template: SessionTemplate) => boolean;
|
|
134
|
-
/**
|
|
135
|
-
* Determines if the session template has an ID document step
|
|
136
|
-
*
|
|
137
|
-
* @param template - The session template
|
|
138
|
-
* @returns true if the template has an ID document step, false otherwise
|
|
139
|
-
*/
|
|
140
|
-
export declare const hasDocumentStep: (template: SessionTemplate) => boolean;
|
|
141
|
-
/**
|
|
142
|
-
* Determines if the session template has a JDD (proof of address) step
|
|
143
|
-
*
|
|
144
|
-
* @param template - The session template
|
|
145
|
-
* @returns true if the template has a JDD step, false otherwise
|
|
146
|
-
*/
|
|
147
|
-
export declare const hasJDDStep: (template: SessionTemplate) => boolean;
|
|
148
|
-
/**
|
|
149
|
-
* Determines if the session template has a proof of funds step
|
|
150
|
-
*
|
|
151
|
-
* @param template - The session template
|
|
152
|
-
* @returns true if the template has a proof of funds step, false otherwise
|
|
153
|
-
*/
|
|
154
|
-
export declare const hasProofOfFundsStep: (template: SessionTemplate) => boolean;
|
|
155
|
-
/**
|
|
156
|
-
* Gets all node types in the template
|
|
157
|
-
*
|
|
158
|
-
* @param template - The session template
|
|
159
|
-
* @returns Array of node types in the template
|
|
160
|
-
*/
|
|
161
|
-
export declare const getNodeTypes: (template: SessionTemplate) => string[];
|
|
162
|
-
/**
|
|
163
|
-
* Gets all document types required in the template
|
|
164
|
-
*
|
|
165
|
-
* @param template - The session template
|
|
166
|
-
* @returns Array of document types required in the template
|
|
167
|
-
*/
|
|
168
|
-
export declare const getRequiredDocumentTypes: (template: SessionTemplate) => string[];
|
|
169
|
-
/**
|
|
170
|
-
* Converts template document type to internal document type
|
|
171
|
-
* This helps standardize document types between the template and the application
|
|
172
|
-
*
|
|
173
|
-
* @param templateDocType - The document type as defined in the template
|
|
174
|
-
* @returns The internal document type used by the application
|
|
175
|
-
*/
|
|
176
|
-
export declare const convertTemplateDocTypeToInternal: (templateDocType: string) => string;
|
|
177
|
-
/**
|
|
178
|
-
* Converts internal document type to template document type
|
|
179
|
-
*
|
|
180
|
-
* @param internalDocType - The document type used internally by the application
|
|
181
|
-
* @returns The document type as expected in the template
|
|
182
|
-
*/
|
|
183
|
-
export declare const convertInternalDocTypeToTemplate: (internalDocType: string) => string;
|
|
184
|
-
/**
|
|
185
|
-
* Updates session data with user input information
|
|
186
|
-
*
|
|
187
|
-
* @param sessionId - The unique identifier of the session
|
|
188
|
-
* @param userInput - The user input data (firstName, lastName, birthDate)
|
|
189
|
-
* @returns The updated session data
|
|
190
|
-
*/
|
|
191
|
-
export declare const updateSessionUserInput: (sessionId: string, userInput: {
|
|
192
|
-
firstName?: string;
|
|
193
|
-
lastName?: string;
|
|
194
|
-
birthDate?: string;
|
|
195
|
-
[key: string]: unknown;
|
|
196
|
-
}) => Promise<SessionData>;
|
|
197
|
-
/**
|
|
198
|
-
* Updates session data with contact information
|
|
199
|
-
*
|
|
200
|
-
* @param sessionId - The unique identifier of the session
|
|
201
|
-
* @param contactInfo - The contact information data (email, phoneNumber)
|
|
202
|
-
* @returns The updated session data
|
|
203
|
-
*/
|
|
204
|
-
export declare const updateSessionContactInfo: (sessionId: string, contactInfo: {
|
|
205
|
-
email: string;
|
|
206
|
-
phoneNumber: string;
|
|
207
|
-
[key: string]: unknown;
|
|
208
|
-
}) => Promise<SessionData>;
|
|
209
|
-
/**
|
|
210
|
-
* Updates session status
|
|
211
|
-
*
|
|
212
|
-
* @param sessionId - The unique identifier of the session
|
|
213
|
-
* @param status - The new status for the session
|
|
214
|
-
* @returns The updated session data
|
|
215
|
-
*/
|
|
216
|
-
export declare const updateSessionStatus: (sessionId: string, status: string) => Promise<SessionData>;
|
|
217
|
-
/**
|
|
218
|
-
* Gets the workflow steps from the template in order
|
|
219
|
-
*
|
|
220
|
-
* @param template - The session template
|
|
221
|
-
* @returns Array of ordered steps
|
|
222
|
-
*/
|
|
223
|
-
export declare const getOrderedWorkflowSteps: (template: SessionTemplate) => SessionTemplateNode[];
|
|
224
|
-
/**
|
|
225
|
-
* Maps a template node type to a step component type
|
|
226
|
-
*
|
|
227
|
-
* @param node - The session template node
|
|
228
|
-
* @returns The step component type
|
|
229
|
-
*/
|
|
230
|
-
export declare const getStepComponentType: (node: SessionTemplateNode) => string;
|
|
231
|
-
/**
|
|
232
|
-
* Checks if a session has expired
|
|
233
|
-
*
|
|
234
|
-
* @param session - The session data to check
|
|
235
|
-
* @returns true if the session has expired, false otherwise
|
|
236
|
-
*/
|
|
237
|
-
export declare const isSessionExpired: (session: SessionData) => boolean;
|
|
238
|
-
/**
|
|
239
|
-
* Stores document options in localStorage for a specific document type
|
|
240
|
-
*
|
|
241
|
-
* @param sessionId - The session ID
|
|
242
|
-
* @param documentTypeId - The document type ID (e.g., 'jdd', 'income-proof')
|
|
243
|
-
* @param options - The options to store
|
|
244
|
-
*/
|
|
245
|
-
export declare const storeDocumentOptions: (sessionId: string, documentTypeId: string, options: string[]) => void;
|
|
246
|
-
/**
|
|
247
|
-
* Retrieves document options from localStorage for a specific document type
|
|
248
|
-
*
|
|
249
|
-
* @param sessionId - The session ID
|
|
250
|
-
* @param documentTypeId - The document type ID (e.g., 'jdd', 'income-proof')
|
|
251
|
-
* @returns Array of options or default options if none found
|
|
252
|
-
*/
|
|
253
|
-
export declare const retrieveDocumentOptions: (sessionId: string, documentTypeId: string) => string[];
|
|
254
|
-
export {};
|
package/dist/services/utils.d.ts
DELETED
package/dist/types/camera.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export type CameraFacingMode = "environment" | "user";
|
|
2
|
-
export interface CameraConstraints {
|
|
3
|
-
video: {
|
|
4
|
-
facingMode: CameraFacingMode;
|
|
5
|
-
width: {
|
|
6
|
-
ideal: number;
|
|
7
|
-
};
|
|
8
|
-
height: {
|
|
9
|
-
ideal: number;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
}
|
|
13
|
-
export interface CameraError {
|
|
14
|
-
type: string;
|
|
15
|
-
message: string;
|
|
16
|
-
}
|