@remoteoss/remote-flows 0.2.2 → 0.4.0-alpha.0
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 +1 -0
- package/dist/{chunk-EQBNHLR4.js → chunk-2KK5HDYP.js} +2 -2
- package/dist/chunk-2PXGLWCY.js +2 -0
- package/dist/chunk-2PXGLWCY.js.map +1 -0
- package/dist/{chunk-NBD4VOG3.js → chunk-344TN4EG.js} +2 -2
- package/dist/{chunk-AD7ZWPEI.js → chunk-3FVI5JIC.js} +2 -2
- package/dist/chunk-4HAR3Z2C.js +2 -0
- package/dist/chunk-4HAR3Z2C.js.map +1 -0
- package/dist/{chunk-FI76EKUS.js → chunk-56BNVYTD.js} +2 -2
- package/dist/chunk-5ETXP2QF.js +2 -0
- package/dist/chunk-5ETXP2QF.js.map +1 -0
- package/dist/{chunk-YVC4OEFJ.js → chunk-6A3F6JG6.js} +2 -2
- package/dist/chunk-6CT35VQR.js +2 -0
- package/dist/chunk-6CT35VQR.js.map +1 -0
- package/dist/{chunk-OCNLZSS7.js → chunk-7CYG2RHP.js} +2 -2
- package/dist/chunk-BKBIALOU.js +2 -0
- package/dist/chunk-BKBIALOU.js.map +1 -0
- package/dist/chunk-BKROCZRD.js +2 -0
- package/dist/chunk-BKROCZRD.js.map +1 -0
- package/dist/chunk-BL2HRBUQ.js +2 -0
- package/dist/chunk-BL2HRBUQ.js.map +1 -0
- package/dist/{chunk-RCX4JUI3.js → chunk-D3XENMEM.js} +2 -2
- package/dist/{chunk-IJWDAD54.js → chunk-DGPRFQYK.js} +2 -2
- package/dist/chunk-DPKJX4NS.js +2 -0
- package/dist/chunk-DPKJX4NS.js.map +1 -0
- package/dist/{chunk-NZFES56Y.js → chunk-EAAIAMTY.js} +2 -2
- package/dist/{chunk-37DREOGC.js → chunk-FMT2OTOL.js} +2 -2
- package/dist/chunk-FNMWKUNJ.js +2 -0
- package/dist/chunk-FNMWKUNJ.js.map +1 -0
- package/dist/chunk-GFBF55NR.js +2 -0
- package/dist/chunk-GFBF55NR.js.map +1 -0
- package/dist/{chunk-XEQTLVMV.js → chunk-GMGKIQLI.js} +2 -2
- package/dist/chunk-GPICG72A.js +2 -0
- package/dist/chunk-GPICG72A.js.map +1 -0
- package/dist/chunk-GULCZWSK.js +1 -0
- package/dist/chunk-GYSK6CY5.js +2 -0
- package/dist/chunk-GYSK6CY5.js.map +1 -0
- package/dist/{chunk-SEUQNAF6.js → chunk-HSW5HMHH.js} +2 -2
- package/dist/{chunk-N5AQSLAU.js → chunk-IDSJI7KQ.js} +2 -2
- package/dist/{chunk-4F7PYKUZ.js → chunk-J55S4SEH.js} +2 -2
- package/dist/chunk-J6LUE5K7.js +2 -0
- package/dist/chunk-J6LUE5K7.js.map +1 -0
- package/dist/chunk-JIBRNWD2.js +2 -0
- package/dist/chunk-JIBRNWD2.js.map +1 -0
- package/dist/chunk-JWIYUQ5X.js +2 -0
- package/dist/chunk-JWIYUQ5X.js.map +1 -0
- package/dist/{chunk-J2RINDSC.js → chunk-KH6QS5OU.js} +2 -2
- package/dist/{chunk-CKGTR44U.js → chunk-KSGPQCSG.js} +2 -2
- package/dist/chunk-M22FKNEY.js +1 -0
- package/dist/chunk-M22FKNEY.js.map +1 -0
- package/dist/chunk-M5VZBMLC.js +2 -0
- package/dist/chunk-M5VZBMLC.js.map +1 -0
- package/dist/chunk-M7WCW7WD.js +2 -0
- package/dist/chunk-M7WCW7WD.js.map +1 -0
- package/dist/{chunk-FCRDQVTB.js → chunk-MESREYTZ.js} +2 -2
- package/dist/chunk-MHKNAQLP.js +2 -0
- package/dist/chunk-MHKNAQLP.js.map +1 -0
- package/dist/{chunk-JLUDKN4H.js → chunk-NFEY2YL6.js} +2 -2
- package/dist/{chunk-XULIEA44.js → chunk-QEMICBEY.js} +2 -2
- package/dist/chunk-RIAYBN32.js +2 -0
- package/dist/chunk-RIAYBN32.js.map +1 -0
- package/dist/chunk-RLS4PMWA.js +2 -0
- package/dist/chunk-RLS4PMWA.js.map +1 -0
- package/dist/chunk-RRFSGYAC.js +2 -0
- package/dist/chunk-RRFSGYAC.js.map +1 -0
- package/dist/chunk-S4FKLPBB.js +2 -0
- package/dist/chunk-S4FKLPBB.js.map +1 -0
- package/dist/chunk-SSIHUUZY.js +2 -0
- package/dist/chunk-SSIHUUZY.js.map +1 -0
- package/dist/{chunk-DOA6BAUQ.js → chunk-WQHKB5T7.js} +2 -2
- package/dist/chunk-WS3C3WIJ.js +2 -0
- package/dist/chunk-WS3C3WIJ.js.map +1 -0
- package/dist/{chunk-CTG3DYJR.js → chunk-WWANHPT7.js} +2 -2
- package/dist/{chunk-CTG3DYJR.js.map → chunk-WWANHPT7.js.map} +1 -1
- package/dist/chunk-XJMVWJZ4.js +2 -0
- package/dist/chunk-XJMVWJZ4.js.map +1 -0
- package/dist/{chunk-5DQBY2TR.js → chunk-XLFHHYVS.js} +2 -2
- package/dist/chunk-XQ6WWP6K.js +2 -0
- package/dist/chunk-XQ6WWP6K.js.map +1 -0
- package/dist/chunk-XSHHMBMT.js +2 -0
- package/dist/chunk-XSHHMBMT.js.map +1 -0
- package/dist/chunk-XVOJ4RMC.js +2 -0
- package/dist/chunk-XVOJ4RMC.js.map +1 -0
- package/dist/chunk-YDUUQU4R.js +2 -0
- package/dist/chunk-YDUUQU4R.js.map +1 -0
- package/dist/chunk-YH5F6MGK.js +2 -0
- package/dist/chunk-YH5F6MGK.js.map +1 -0
- package/dist/{chunk-KPSFJ6BN.js → chunk-YOC3VDC7.js} +2 -2
- package/dist/flows/ContractAmendment/ContractAmendmentBack.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentConfirmationForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.d.ts +6 -4
- package/dist/flows/ContractAmendment/ContractAmendmentFlow.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.d.ts +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentForm.js +1 -1
- package/dist/flows/ContractAmendment/ContractAmendmentSubmit.js +1 -1
- package/dist/flows/ContractAmendment/context.d.ts +3 -1
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -1
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +5 -3
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/types.d.ts +6 -5
- package/dist/flows/ContractAmendment/utils.d.ts +1 -1
- package/dist/flows/ContractAmendment/utils.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorContributionsBreakdown.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorGrossSalary.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +1 -1
- package/dist/flows/CostCalculator/hooks.d.ts +1 -1
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +1 -1
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +1 -1
- package/dist/flows/CostCalculator/utils.d.ts +1 -1
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/BasicInformationStep.d.ts +15 -0
- package/dist/flows/Onboarding/BasicInformationStep.js +2 -0
- package/dist/flows/Onboarding/BasicInformationStep.js.map +1 -0
- package/dist/flows/Onboarding/BenefitsStep.d.ts +34 -0
- package/dist/flows/Onboarding/BenefitsStep.js +2 -0
- package/dist/flows/Onboarding/BenefitsStep.js.map +1 -0
- package/dist/flows/Onboarding/ContractDetailsStep.d.ts +12 -0
- package/dist/flows/Onboarding/ContractDetailsStep.js +2 -0
- package/dist/flows/Onboarding/ContractDetailsStep.js.map +1 -0
- package/dist/flows/Onboarding/OnboardingBack.d.ts +5 -0
- package/dist/flows/Onboarding/OnboardingBack.js +2 -0
- package/dist/flows/Onboarding/OnboardingBack.js.map +1 -0
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +52 -0
- package/dist/flows/Onboarding/OnboardingFlow.js +2 -0
- package/dist/flows/Onboarding/OnboardingFlow.js.map +1 -0
- package/dist/flows/Onboarding/OnboardingForm.d.ts +19 -0
- package/dist/flows/Onboarding/OnboardingForm.js +2 -0
- package/dist/flows/Onboarding/OnboardingForm.js.map +1 -0
- package/dist/flows/Onboarding/OnboardingInvite.d.ts +11 -0
- package/dist/flows/Onboarding/OnboardingInvite.js +2 -0
- package/dist/flows/Onboarding/OnboardingInvite.js.map +1 -0
- package/dist/flows/Onboarding/OnboardingSubmit.d.ts +5 -0
- package/dist/flows/Onboarding/OnboardingSubmit.js +2 -0
- package/dist/flows/Onboarding/OnboardingSubmit.js.map +1 -0
- package/dist/flows/Onboarding/context.d.ts +81 -0
- package/dist/flows/Onboarding/context.js +2 -0
- package/dist/flows/Onboarding/context.js.map +1 -0
- package/dist/flows/Onboarding/hooks.d.ts +136 -0
- package/dist/flows/Onboarding/hooks.js +2 -0
- package/dist/flows/Onboarding/hooks.js.map +1 -0
- package/dist/flows/Onboarding/index.d.ts +20 -0
- package/dist/flows/Onboarding/index.js +2 -0
- package/dist/flows/Onboarding/index.js.map +1 -0
- package/dist/flows/Onboarding/types.d.ts +31 -0
- package/dist/flows/Onboarding/types.js +1 -0
- package/dist/flows/Onboarding/types.js.map +1 -0
- package/dist/flows/Onboarding/utils.d.ts +8 -0
- package/dist/flows/Onboarding/utils.js +2 -0
- package/dist/flows/Onboarding/utils.js.map +1 -0
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +13 -0
- package/dist/flows/Termination/AdditionalDetailsForm.js +2 -0
- package/dist/flows/Termination/AdditionalDetailsForm.js.map +1 -0
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +10 -0
- package/dist/flows/Termination/EmployeeComunicationForm.js +2 -0
- package/dist/flows/Termination/EmployeeComunicationForm.js.map +1 -0
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +10 -0
- package/dist/flows/Termination/PaidTimeOffForm.js +2 -0
- package/dist/flows/Termination/PaidTimeOffForm.js.map +1 -0
- package/dist/flows/Termination/TerminationBack.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +10 -0
- package/dist/flows/Termination/TerminationDetailsForm.js +2 -0
- package/dist/flows/Termination/TerminationDetailsForm.js.map +1 -0
- package/dist/flows/Termination/TerminationFlow.d.ts +19 -10
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +5 -6
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/TerminationSubmit.js +1 -1
- package/dist/flows/Termination/TimeOff.d.ts +1 -1
- package/dist/flows/Termination/TimeOff.js +1 -1
- package/dist/flows/Termination/context.d.ts +3 -1
- package/dist/flows/Termination/hooks.d.ts +12 -1
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +8 -5
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/json-schemas/additionalInformation.js +1 -1
- package/dist/flows/Termination/json-schemas/jsonSchema.js +1 -1
- package/dist/flows/Termination/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +1 -1
- package/dist/flows/types.d.ts +16 -1
- package/dist/flows/utils.d.ts +3 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +23 -121
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/remoteFlows-CswYencu.d.ts +116 -0
- package/dist/types.gen-HC04kr7n.d.ts +947 -0
- package/package.json +3 -2
- package/dist/chunk-2EKC7DK3.js +0 -2
- package/dist/chunk-2EKC7DK3.js.map +0 -1
- package/dist/chunk-55VACCVZ.js +0 -2
- package/dist/chunk-55VACCVZ.js.map +0 -1
- package/dist/chunk-6LTJBLSD.js +0 -2
- package/dist/chunk-6LTJBLSD.js.map +0 -1
- package/dist/chunk-AYFHWLQZ.js +0 -2
- package/dist/chunk-AYFHWLQZ.js.map +0 -1
- package/dist/chunk-F5QJZKDL.js +0 -2
- package/dist/chunk-F5QJZKDL.js.map +0 -1
- package/dist/chunk-FZ7FWFJX.js +0 -1
- package/dist/chunk-GW7GG5ZW.js +0 -2
- package/dist/chunk-GW7GG5ZW.js.map +0 -1
- package/dist/chunk-IJPE22L7.js +0 -2
- package/dist/chunk-IJPE22L7.js.map +0 -1
- package/dist/chunk-IPJORKYJ.js +0 -2
- package/dist/chunk-IPJORKYJ.js.map +0 -1
- package/dist/chunk-IPZEZMLD.js +0 -2
- package/dist/chunk-IPZEZMLD.js.map +0 -1
- package/dist/chunk-SJ56GVNV.js +0 -2
- package/dist/chunk-SJ56GVNV.js.map +0 -1
- package/dist/chunk-TOSGDMB4.js +0 -2
- package/dist/chunk-TOSGDMB4.js.map +0 -1
- package/dist/chunk-VHL76MEG.js +0 -2
- package/dist/chunk-VHL76MEG.js.map +0 -1
- package/dist/chunk-YAHWFLDH.js +0 -2
- package/dist/chunk-YAHWFLDH.js.map +0 -1
- package/dist/chunk-YBACB5A6.js +0 -2
- package/dist/chunk-YBACB5A6.js.map +0 -1
- package/dist/types.gen-BgLeTAqP.d.ts +0 -10618
- /package/dist/{chunk-EQBNHLR4.js.map → chunk-2KK5HDYP.js.map} +0 -0
- /package/dist/{chunk-NBD4VOG3.js.map → chunk-344TN4EG.js.map} +0 -0
- /package/dist/{chunk-AD7ZWPEI.js.map → chunk-3FVI5JIC.js.map} +0 -0
- /package/dist/{chunk-FI76EKUS.js.map → chunk-56BNVYTD.js.map} +0 -0
- /package/dist/{chunk-YVC4OEFJ.js.map → chunk-6A3F6JG6.js.map} +0 -0
- /package/dist/{chunk-OCNLZSS7.js.map → chunk-7CYG2RHP.js.map} +0 -0
- /package/dist/{chunk-RCX4JUI3.js.map → chunk-D3XENMEM.js.map} +0 -0
- /package/dist/{chunk-IJWDAD54.js.map → chunk-DGPRFQYK.js.map} +0 -0
- /package/dist/{chunk-NZFES56Y.js.map → chunk-EAAIAMTY.js.map} +0 -0
- /package/dist/{chunk-37DREOGC.js.map → chunk-FMT2OTOL.js.map} +0 -0
- /package/dist/{chunk-XEQTLVMV.js.map → chunk-GMGKIQLI.js.map} +0 -0
- /package/dist/{chunk-FZ7FWFJX.js.map → chunk-GULCZWSK.js.map} +0 -0
- /package/dist/{chunk-SEUQNAF6.js.map → chunk-HSW5HMHH.js.map} +0 -0
- /package/dist/{chunk-N5AQSLAU.js.map → chunk-IDSJI7KQ.js.map} +0 -0
- /package/dist/{chunk-4F7PYKUZ.js.map → chunk-J55S4SEH.js.map} +0 -0
- /package/dist/{chunk-J2RINDSC.js.map → chunk-KH6QS5OU.js.map} +0 -0
- /package/dist/{chunk-CKGTR44U.js.map → chunk-KSGPQCSG.js.map} +0 -0
- /package/dist/{chunk-FCRDQVTB.js.map → chunk-MESREYTZ.js.map} +0 -0
- /package/dist/{chunk-JLUDKN4H.js.map → chunk-NFEY2YL6.js.map} +0 -0
- /package/dist/{chunk-XULIEA44.js.map → chunk-QEMICBEY.js.map} +0 -0
- /package/dist/{chunk-DOA6BAUQ.js.map → chunk-WQHKB5T7.js.map} +0 -0
- /package/dist/{chunk-5DQBY2TR.js.map → chunk-XLFHHYVS.js.map} +0 -0
- /package/dist/{chunk-KPSFJ6BN.js.map → chunk-YOC3VDC7.js.map} +0 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/RemoteFlowsProvider.tsx","../src/lib/applyTheme.ts","../src/theme.tsx","../src/environments.ts","../src/useAuth.ts"],"sourcesContent":["import { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport type { PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { ThemeProvider } from '@/src/theme';\nimport { FormFieldsContext, RemoteFlowContext } from './context';\nimport { Components, RemoteFlowsSDKProps } from './types/remoteFlows';\nimport { useAuth } from './useAuth';\n\nconst queryClient = new QueryClient();\n\ntype RemoteFlowContextWrapperProps = {\n auth: RemoteFlowsSDKProps['auth'];\n children: React.ReactNode;\n isTestingMode?: RemoteFlowsSDKProps['isTestingMode'];\n proxy?: RemoteFlowsSDKProps['proxy'];\n};\n\nfunction RemoteFlowContextWrapper({\n children,\n auth,\n isTestingMode,\n proxy,\n}: RemoteFlowContextWrapperProps) {\n const remoteApiClient = useAuth({\n auth,\n options: {\n isTestingMode: !!isTestingMode,\n proxy,\n },\n });\n return (\n <RemoteFlowContext.Provider value={{ client: remoteApiClient.current }}>\n {children}\n </RemoteFlowContext.Provider>\n );\n}\n\nexport function FormFieldsProvider({\n children,\n components,\n}: PropsWithChildren<{\n components?: Components;\n}>) {\n return (\n <FormFieldsContext.Provider\n value={components ? { components } : { components: {} }}\n >\n {children}\n </FormFieldsContext.Provider>\n );\n}\n\nexport function RemoteFlows({\n auth,\n children,\n components,\n isTestingMode = false,\n theme,\n proxy,\n}: PropsWithChildren<RemoteFlowsSDKProps>) {\n return (\n <QueryClientProvider client={queryClient}>\n <FormFieldsProvider components={components}>\n <RemoteFlowContextWrapper\n isTestingMode={isTestingMode}\n auth={auth}\n proxy={proxy}\n >\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </RemoteFlowContextWrapper>\n </FormFieldsProvider>\n </QueryClientProvider>\n );\n}\n","import {\n CssThemeBorder,\n CssThemeColors,\n CssThemeFont,\n CssThemeSpacing,\n ThemeColors,\n ThemeFont,\n ThemeProviderProps,\n} from '@/src/types/theme';\n\nfunction setCssProperties(variables: Record<string, string>) {\n const root = document.documentElement;\n Object.keys(variables).forEach((v) => {\n const propertyVal = variables[v];\n if (propertyVal) {\n root.style.setProperty(v, propertyVal);\n }\n });\n}\n\nfunction mapThemeColors(colors: ThemeColors): CssThemeColors {\n const result: CssThemeColors = {};\n Object.keys(colors).forEach((key) => {\n result[`--${key}` as keyof CssThemeColors] =\n colors[key as keyof ThemeColors];\n });\n return result;\n}\n\nfunction mapThemeSpacing(spacing: string): CssThemeSpacing {\n return {\n '--spacing': spacing,\n };\n}\n\nfunction mapThemeBorderRadius(borderRadius: string): CssThemeBorder {\n return {\n '--radius': borderRadius,\n };\n}\n\nfunction mapThemeFont(font: ThemeFont): CssThemeFont {\n return {\n '--fontSizeBase': font.fontSizeBase,\n };\n}\n\nexport function applyTheme(theme: ThemeProviderProps['theme']) {\n if (theme?.colors) {\n setCssProperties(mapThemeColors(theme.colors));\n }\n\n if (theme?.spacing) {\n setCssProperties(mapThemeSpacing(theme.spacing));\n }\n\n if (theme?.borderRadius) {\n setCssProperties(mapThemeBorderRadius(theme.borderRadius));\n }\n\n if (theme?.font) {\n setCssProperties(mapThemeFont(theme.font));\n }\n}\n","import { applyTheme } from '@/src/lib/applyTheme';\nimport React, { createContext, useEffect, useMemo } from 'react';\nimport { ThemeProviderProps } from './types/theme';\n\nconst ThemeContext = createContext<Omit<ThemeProviderProps, 'children'>>({\n theme: {},\n});\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n useEffect(() => {\n if (props.theme && Object.keys(props.theme).length > 0) {\n applyTheme(props.theme);\n }\n }, [props.theme]);\n\n const value = useMemo(() => {\n return { theme: props.theme };\n }, [props.theme]);\n\n return (\n <ThemeContext.Provider value={value}>\n {props.children}\n </ThemeContext.Provider>\n );\n}\n","export const ENVIRONMENTS = {\n staging: 'https://gateway.niceremote.com',\n partners: 'https://gateway.partners.remote-sandbox.com',\n production: 'https://gateway.remote.com',\n};\n","import { client } from '@/src/client/client.gen';\nimport { ENVIRONMENTS } from '@/src/environments';\nimport { createClient } from '@hey-api/client-fetch';\nimport { useQuery } from '@tanstack/react-query';\nimport { useRef } from 'react';\nimport { RemoteFlowsSDKProps } from './types/remoteFlows';\n\ntype AuthResponse = {\n accessToken: string;\n expiresIn: number;\n};\n\ntype Options = {\n isTestingMode: boolean;\n proxy?: RemoteFlowsSDKProps['proxy'];\n};\n\nfunction isValidUrl(url: string) {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport const useAuth = ({\n auth,\n options,\n}: {\n auth: () => Promise<AuthResponse>;\n options: Options;\n}) => {\n const session = useRef<{ accessToken: string; expiresAt: number } | null>(\n null,\n );\n const { refetch } = useQuery({\n queryKey: ['auth'],\n queryFn: auth,\n enabled: false,\n });\n\n const baseUrl = options.isTestingMode\n ? ENVIRONMENTS.partners\n : process.env.REMOTE_GATEWAY_URL;\n\n const clientConfig = client.getConfig();\n const npmPackageVersion = process.env.VERSION;\n const isValidProxy = !!options.proxy && isValidUrl(options.proxy.url);\n\n if (options.proxy && !isValidProxy) {\n console.error('Invalid proxy URL provided. Using default base URL.');\n }\n\n return useRef(\n createClient({\n ...clientConfig,\n headers: {\n ...clientConfig.headers,\n ...(isValidProxy ? options.proxy?.headers : {}),\n 'X-Client-Name': 'remote-flows-sdk',\n 'X-Client-Version': npmPackageVersion,\n },\n baseUrl: isValidProxy ? options.proxy?.url : baseUrl,\n auth: async () => {\n function hasTokenExpired(expiresAt: number | undefined) {\n return !expiresAt || Date.now() + 60000 > expiresAt;\n }\n if (!session.current || hasTokenExpired(session.current.expiresAt)) {\n const { data } = await refetch();\n if (data) {\n session.current = {\n accessToken: data.accessToken,\n expiresAt: Date.now() + data.expiresIn * 1000,\n };\n }\n }\n return session.current?.accessToken;\n },\n }),\n );\n};\n"],"mappings":"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","names":["QueryClient","QueryClientProvider","React","setCssProperties","variables","root","v","propertyVal","__name","mapThemeColors","colors","result","key","mapThemeSpacing","spacing","mapThemeBorderRadius","borderRadius","mapThemeFont","font","applyTheme","theme","React","createContext","useEffect","useMemo","ThemeContext","createContext","ThemeProvider","props","useEffect","applyTheme","value","useMemo","React","__name","ENVIRONMENTS","createClient","useQuery","useRef","isValidUrl","url","__name","useAuth","auth","options","session","useRef","refetch","useQuery","baseUrl","ENVIRONMENTS","clientConfig","client","npmPackageVersion","isValidProxy","createClient","hasTokenExpired","expiresAt","data","queryClient","QueryClient","RemoteFlowContextWrapper","children","auth","isTestingMode","proxy","remoteApiClient","useAuth","React","RemoteFlowContext","__name","FormFieldsProvider","components","FormFieldsContext","RemoteFlows","theme","QueryClientProvider","ThemeProvider"]}
|
|
1
|
+
{"version":3,"sources":["../src/RemoteFlowsProvider.tsx","../src/lib/applyTheme.ts","../src/theme.tsx","../src/environments.ts","../src/useAuth.ts"],"sourcesContent":["import { QueryClient, QueryClientProvider } from '@tanstack/react-query';\nimport type { PropsWithChildren } from 'react';\nimport React from 'react';\n\nimport { ThemeProvider } from '@/src/theme';\nimport { FormFieldsContext, RemoteFlowContext } from './context';\nimport { Components, RemoteFlowsSDKProps } from './types/remoteFlows';\nimport { useAuth } from './useAuth';\n\nconst queryClient = new QueryClient();\n\ntype RemoteFlowContextWrapperProps = {\n auth: RemoteFlowsSDKProps['auth'];\n children: React.ReactNode;\n isTestingMode?: RemoteFlowsSDKProps['isTestingMode'];\n proxy?: RemoteFlowsSDKProps['proxy'];\n};\n\nfunction RemoteFlowContextWrapper({\n children,\n auth,\n isTestingMode,\n proxy,\n}: RemoteFlowContextWrapperProps) {\n const remoteApiClient = useAuth({\n auth,\n options: {\n isTestingMode: !!isTestingMode,\n proxy,\n },\n });\n return (\n <RemoteFlowContext.Provider value={{ client: remoteApiClient.current }}>\n {children}\n </RemoteFlowContext.Provider>\n );\n}\n\nexport function FormFieldsProvider({\n children,\n components,\n}: PropsWithChildren<{\n components?: Components;\n}>) {\n return (\n <FormFieldsContext.Provider\n value={components ? { components } : { components: {} }}\n >\n {children}\n </FormFieldsContext.Provider>\n );\n}\n\nexport function RemoteFlows({\n auth,\n children,\n components,\n isTestingMode = false,\n theme,\n proxy,\n}: PropsWithChildren<RemoteFlowsSDKProps>) {\n return (\n <QueryClientProvider client={queryClient}>\n <FormFieldsProvider components={components}>\n <RemoteFlowContextWrapper\n isTestingMode={isTestingMode}\n auth={auth}\n proxy={proxy}\n >\n <ThemeProvider theme={theme}>{children}</ThemeProvider>\n </RemoteFlowContextWrapper>\n </FormFieldsProvider>\n </QueryClientProvider>\n );\n}\n","import {\n CssThemeBorder,\n CssThemeColors,\n CssThemeFont,\n CssThemeSpacing,\n ThemeColors,\n ThemeFont,\n ThemeProviderProps,\n} from '@/src/types/theme';\n\nfunction setCssProperties(variables: Record<string, string>) {\n const root = document.documentElement;\n Object.keys(variables).forEach((v) => {\n const propertyVal = variables[v];\n if (propertyVal) {\n root.style.setProperty(v, propertyVal);\n }\n });\n}\n\nfunction mapThemeColors(colors: ThemeColors): CssThemeColors {\n const result: CssThemeColors = {};\n Object.keys(colors).forEach((key) => {\n result[`--${key}` as keyof CssThemeColors] =\n colors[key as keyof ThemeColors];\n });\n return result;\n}\n\nfunction mapThemeSpacing(spacing: string): CssThemeSpacing {\n return {\n '--spacing': spacing,\n };\n}\n\nfunction mapThemeBorderRadius(borderRadius: string): CssThemeBorder {\n return {\n '--radius': borderRadius,\n };\n}\n\nfunction mapThemeFont(font: ThemeFont): CssThemeFont {\n return {\n '--fontSizeBase': font.fontSizeBase,\n };\n}\n\nexport function applyTheme(theme: ThemeProviderProps['theme']) {\n if (theme?.colors) {\n setCssProperties(mapThemeColors(theme.colors));\n }\n\n if (theme?.spacing) {\n setCssProperties(mapThemeSpacing(theme.spacing));\n }\n\n if (theme?.borderRadius) {\n setCssProperties(mapThemeBorderRadius(theme.borderRadius));\n }\n\n if (theme?.font) {\n setCssProperties(mapThemeFont(theme.font));\n }\n}\n","import { applyTheme } from '@/src/lib/applyTheme';\nimport React, { createContext, useEffect, useMemo } from 'react';\nimport { ThemeProviderProps } from './types/theme';\n\nconst ThemeContext = createContext<Omit<ThemeProviderProps, 'children'>>({\n theme: {},\n});\n\nexport function ThemeProvider(props: ThemeProviderProps) {\n useEffect(() => {\n if (props.theme && Object.keys(props.theme).length > 0) {\n applyTheme(props.theme);\n }\n }, [props.theme]);\n\n const value = useMemo(() => {\n return { theme: props.theme };\n }, [props.theme]);\n\n return (\n <ThemeContext.Provider value={value}>\n {props.children}\n </ThemeContext.Provider>\n );\n}\n","export const ENVIRONMENTS = {\n staging: 'https://gateway.niceremote.com',\n partners: 'https://gateway.partners.remote-sandbox.com',\n production: 'https://gateway.remote.com',\n};\n","import { client } from '@/src/client/client.gen';\nimport { ENVIRONMENTS } from '@/src/environments';\nimport { createClient } from '@hey-api/client-fetch';\nimport { useQuery } from '@tanstack/react-query';\nimport { useRef } from 'react';\nimport { RemoteFlowsSDKProps } from './types/remoteFlows';\n\ntype AuthResponse = {\n accessToken: string;\n expiresIn: number;\n};\n\ntype Options = {\n isTestingMode: boolean;\n proxy?: RemoteFlowsSDKProps['proxy'];\n};\n\nfunction isValidUrl(url: string) {\n try {\n new URL(url);\n return true;\n } catch {\n return false;\n }\n}\n\nexport const useAuth = ({\n auth,\n options,\n}: {\n auth: () => Promise<AuthResponse>;\n options: Options;\n}) => {\n const session = useRef<{ accessToken: string; expiresAt: number } | null>(\n null,\n );\n const { refetch } = useQuery({\n queryKey: ['auth'],\n queryFn: auth,\n enabled: false,\n });\n\n const baseUrl = options.isTestingMode\n ? ENVIRONMENTS.partners\n : process.env.REMOTE_GATEWAY_URL;\n\n const clientConfig = client.getConfig();\n const npmPackageVersion = process.env.VERSION;\n const isValidProxy = !!options.proxy && isValidUrl(options.proxy.url);\n\n if (options.proxy && !isValidProxy) {\n console.error('Invalid proxy URL provided. Using default base URL.');\n }\n\n return useRef(\n createClient({\n ...clientConfig,\n headers: {\n ...clientConfig.headers,\n ...(isValidProxy ? options.proxy?.headers : {}),\n 'X-Client-Name': 'remote-flows-sdk',\n 'X-Client-Version': npmPackageVersion,\n },\n baseUrl: isValidProxy ? options.proxy?.url : baseUrl,\n auth: async () => {\n function hasTokenExpired(expiresAt: number | undefined) {\n return !expiresAt || Date.now() + 60000 > expiresAt;\n }\n if (!session.current || hasTokenExpired(session.current.expiresAt)) {\n const { data } = await refetch();\n if (data) {\n session.current = {\n accessToken: data.accessToken,\n expiresAt: Date.now() + data.expiresIn * 1000,\n };\n }\n }\n return session.current?.accessToken;\n },\n }),\n );\n};\n"],"mappings":"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","names":["QueryClient","QueryClientProvider","React","setCssProperties","variables","root","v","propertyVal","__name","mapThemeColors","colors","result","key","mapThemeSpacing","spacing","mapThemeBorderRadius","borderRadius","mapThemeFont","font","applyTheme","theme","React","createContext","useEffect","useMemo","ThemeContext","createContext","ThemeProvider","props","useEffect","applyTheme","value","useMemo","React","__name","ENVIRONMENTS","createClient","useQuery","useRef","isValidUrl","url","__name","useAuth","auth","options","session","useRef","refetch","useQuery","baseUrl","ENVIRONMENTS","clientConfig","client","npmPackageVersion","isValidProxy","createClient","hasTokenExpired","expiresAt","data","queryClient","QueryClient","RemoteFlowContextWrapper","children","auth","isTestingMode","proxy","remoteApiClient","useAuth","React","RemoteFlowContext","__name","FormFieldsProvider","components","FormFieldsContext","RemoteFlows","theme","QueryClientProvider","ThemeProvider"]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { ControllerRenderProps, FieldValues, ControllerFieldState } from 'react-hook-form';
|
|
3
|
+
import { AnySchema } from 'yup';
|
|
4
|
+
|
|
5
|
+
type ThemeProviderProps = PropsWithChildren<{
|
|
6
|
+
theme?: Partial<{
|
|
7
|
+
colors: ThemeColors;
|
|
8
|
+
spacing: string;
|
|
9
|
+
borderRadius: string;
|
|
10
|
+
font: ThemeFont;
|
|
11
|
+
}>;
|
|
12
|
+
}>;
|
|
13
|
+
type ThemeColors = Partial<{
|
|
14
|
+
borderInput: string;
|
|
15
|
+
primaryBackground: string;
|
|
16
|
+
primaryForeground: string;
|
|
17
|
+
accentBackground: string;
|
|
18
|
+
accentForeground: string;
|
|
19
|
+
danger: string;
|
|
20
|
+
warningBackground: string;
|
|
21
|
+
warningBorder: string;
|
|
22
|
+
}>;
|
|
23
|
+
type ThemeFont = {
|
|
24
|
+
fontSizeBase: string;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
type SupportedTypes = 'text' | 'number' | 'email' | 'select' | 'radio' | 'fieldset' | 'date' | 'checkbox' | 'textarea' | 'money' | 'file' | 'countries';
|
|
28
|
+
|
|
29
|
+
type StatementProps = {
|
|
30
|
+
title?: string;
|
|
31
|
+
description: string;
|
|
32
|
+
severity: 'warning' | 'error' | 'success' | 'info' | 'neutral' | 'time';
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
type AuthResponse = {
|
|
36
|
+
accessToken: string;
|
|
37
|
+
expiresIn: number;
|
|
38
|
+
};
|
|
39
|
+
type JSFField = {
|
|
40
|
+
computedAttributes: Record<string, unknown>;
|
|
41
|
+
description: string;
|
|
42
|
+
errorMessage: Record<string, string>;
|
|
43
|
+
inputType: SupportedTypes;
|
|
44
|
+
isVisible: boolean;
|
|
45
|
+
jsonType: string;
|
|
46
|
+
label: string;
|
|
47
|
+
name: string;
|
|
48
|
+
required: boolean;
|
|
49
|
+
schema: AnySchema;
|
|
50
|
+
scopedJsonSchema: Record<string, unknown>;
|
|
51
|
+
type: string;
|
|
52
|
+
options?: Array<{
|
|
53
|
+
value: string;
|
|
54
|
+
label: string;
|
|
55
|
+
description?: string;
|
|
56
|
+
}>;
|
|
57
|
+
defaultValue?: string | number;
|
|
58
|
+
minDate?: string;
|
|
59
|
+
maxLength?: number;
|
|
60
|
+
multiple?: boolean;
|
|
61
|
+
};
|
|
62
|
+
type Components = {
|
|
63
|
+
[K in SupportedTypes]?: React.ComponentType<{
|
|
64
|
+
/**
|
|
65
|
+
* Field prop from React Hook Form's Controller component.
|
|
66
|
+
* Contains field state and methods for registration.
|
|
67
|
+
* @see https://react-hook-form.com/docs/usecontroller/controller
|
|
68
|
+
*/
|
|
69
|
+
field: ControllerRenderProps<FieldValues, string>;
|
|
70
|
+
/**
|
|
71
|
+
* Field state prop from React Hook Form's Controller component.
|
|
72
|
+
* Contains information about the field's state, such as errors, touched status, etc.
|
|
73
|
+
* @see https://react-hook-form.com/docs/usecontroller/controller
|
|
74
|
+
*/
|
|
75
|
+
fieldState: ControllerFieldState;
|
|
76
|
+
/**
|
|
77
|
+
* Metadata derived from JSON schema parsing that provides additional context and validation rules for the field.
|
|
78
|
+
* Contains properties defined in the original JSON schema such as type, format, constraints, etc.
|
|
79
|
+
*/
|
|
80
|
+
fieldData: JSFField;
|
|
81
|
+
}>;
|
|
82
|
+
} & {
|
|
83
|
+
statement?: React.ComponentType<{
|
|
84
|
+
data: StatementProps;
|
|
85
|
+
}>;
|
|
86
|
+
};
|
|
87
|
+
type RemoteFlowsSDKProps = Omit<ThemeProviderProps, 'children'> & {
|
|
88
|
+
/**
|
|
89
|
+
* Function to authenticate the user and obtain an access token.
|
|
90
|
+
* @returns A promise that resolves to an object containing the access token and its expiration time.
|
|
91
|
+
*/
|
|
92
|
+
auth: () => Promise<AuthResponse>;
|
|
93
|
+
/**
|
|
94
|
+
* Components to override the default field components used in the SDK.
|
|
95
|
+
*/
|
|
96
|
+
components?: Components;
|
|
97
|
+
/**
|
|
98
|
+
* Flag to indicate if the SDK is in testing mode and use the testing environment.
|
|
99
|
+
* If true, the SDK will use the testing environment for all API calls.
|
|
100
|
+
*/
|
|
101
|
+
isTestingMode?: boolean;
|
|
102
|
+
proxy?: {
|
|
103
|
+
/**
|
|
104
|
+
* URL of the proxy server to use for API calls.
|
|
105
|
+
*/
|
|
106
|
+
url: string;
|
|
107
|
+
/**
|
|
108
|
+
* Headers to include in the API requests.
|
|
109
|
+
*/
|
|
110
|
+
headers?: {
|
|
111
|
+
[key: string]: string;
|
|
112
|
+
};
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
export type { Components as C, RemoteFlowsSDKProps as R };
|