@remoteoss/remote-flows 0.9.0 → 0.10.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 +31 -0
- package/dist/chunk-2NDBK2EZ.js +2 -0
- package/dist/chunk-2NDBK2EZ.js.map +1 -0
- package/dist/chunk-33W6YDCH.js +2 -0
- package/dist/chunk-33W6YDCH.js.map +1 -0
- package/dist/chunk-3IXBMIHE.js +2 -0
- package/dist/chunk-3IXBMIHE.js.map +1 -0
- package/dist/{chunk-GXAX4KMX.js → chunk-3QXOTVAD.js} +2 -2
- package/dist/{chunk-S62STPBT.js → chunk-3TQVP4BP.js} +2 -2
- package/dist/chunk-45N2S6JG.js +2 -0
- package/dist/chunk-45N2S6JG.js.map +1 -0
- package/dist/{chunk-UIAPHRJJ.js → chunk-4HHGKSGL.js} +2 -2
- package/dist/{chunk-D23KLJQM.js → chunk-5TNWGN5T.js} +2 -2
- package/dist/chunk-7R6GAOQG.js +2 -0
- package/dist/chunk-7R6GAOQG.js.map +1 -0
- package/dist/{chunk-LWJQO625.js → chunk-7ULN2UW6.js} +2 -2
- package/dist/chunk-CLY6BS36.js +2 -0
- package/dist/chunk-CLY6BS36.js.map +1 -0
- package/dist/chunk-D24ATLAM.js +2 -0
- package/dist/{chunk-YHSNK7WB.js.map → chunk-D24ATLAM.js.map} +1 -1
- package/dist/{chunk-FKV6J4FL.js → chunk-DS2TO37X.js} +2 -2
- package/dist/{chunk-R6OW77R6.js → chunk-E366OTIT.js} +2 -2
- package/dist/{chunk-FBA3PMRV.js → chunk-ERMOQBXU.js} +2 -2
- package/dist/chunk-ERUG7FR3.js +2 -0
- package/dist/{chunk-5PVQUO5Q.js.map → chunk-ERUG7FR3.js.map} +1 -1
- package/dist/{chunk-7CDCXJSI.js → chunk-FC7NRKYF.js} +2 -2
- package/dist/{chunk-HQMY3X2R.js → chunk-FCABBFQ5.js} +2 -2
- package/dist/chunk-FMWLGLES.js +2 -0
- package/dist/chunk-FMWLGLES.js.map +1 -0
- package/dist/{chunk-76UIUPEL.js → chunk-FW6EQA43.js} +2 -2
- package/dist/chunk-HHE7W23D.js +2 -0
- package/dist/chunk-HHE7W23D.js.map +1 -0
- package/dist/{chunk-Y6FMG3PD.js → chunk-IQOX5IEE.js} +2 -2
- package/dist/chunk-IS7BYXY6.js +2 -0
- package/dist/{chunk-466M4PK7.js.map → chunk-IS7BYXY6.js.map} +1 -1
- package/dist/{chunk-DTTK5OBT.js → chunk-IV5GLWFN.js} +2 -2
- package/dist/{chunk-DEGMU7EO.js → chunk-J3MB4Z6R.js} +2 -2
- package/dist/chunk-JNAFD452.js +2 -0
- package/dist/chunk-JNAFD452.js.map +1 -0
- package/dist/{chunk-T6TIHUBQ.js → chunk-KCXP2NOU.js} +2 -2
- package/dist/{chunk-D27IFECQ.js → chunk-KMC45C2J.js} +2 -2
- package/dist/{chunk-OGAVWGSY.js → chunk-MHEIW3JW.js} +2 -2
- package/dist/{chunk-3LGFQNYW.js → chunk-MWLD2A2O.js} +2 -2
- package/dist/chunk-N6CK5HE6.js +2 -0
- package/dist/chunk-N6CK5HE6.js.map +1 -0
- package/dist/{chunk-4F4I7F2P.js → chunk-NAVGSG5R.js} +2 -2
- package/dist/{chunk-F6FS5DBQ.js → chunk-NHAVKODB.js} +2 -2
- package/dist/chunk-PRK34ZQH.js +2 -0
- package/dist/chunk-PRK34ZQH.js.map +1 -0
- package/dist/{chunk-A4ROBLPX.js → chunk-QNSEFFNN.js} +2 -2
- package/dist/{chunk-5O4S4YZN.js → chunk-QP755MNN.js} +2 -2
- package/dist/{chunk-6P4XGSZ6.js → chunk-S3C5DJXJ.js} +2 -2
- package/dist/{chunk-ZPUELAQZ.js → chunk-UBAEG2IO.js} +2 -2
- package/dist/{chunk-ZPUELAQZ.js.map → chunk-UBAEG2IO.js.map} +1 -1
- package/dist/{chunk-Q5ZUVH3U.js → chunk-UWKND5NL.js} +2 -2
- package/dist/chunk-WHW3ZCTH.js +2 -0
- package/dist/chunk-WHW3ZCTH.js.map +1 -0
- package/dist/{chunk-5CCAARDB.js → chunk-WWMMQZA3.js} +2 -2
- package/dist/chunk-XCFIBTQN.js +2 -0
- package/dist/chunk-XCFIBTQN.js.map +1 -0
- package/dist/{chunk-7WDALAC7.js → chunk-XHBYAMFV.js} +2 -2
- package/dist/{chunk-YKIFMONL.js → chunk-XJ7PCWMR.js} +2 -2
- package/dist/{chunk-YYNQTHEX.js → chunk-XLBQWKQ2.js} +2 -2
- package/dist/{chunk-2UPDFZ7P.js → chunk-XSRHFJ3Z.js} +2 -2
- package/dist/{chunk-7F3TBWYV.js → chunk-Y4R7VMZM.js} +2 -2
- package/dist/{chunk-A27ASO7K.js → chunk-YS7XEJJP.js} +2 -2
- package/dist/{chunk-HQKBSMGN.js → chunk-ZCIUF3NB.js} +2 -2
- package/dist/{chunk-IXVV7KPW.js → chunk-ZKNJTAP7.js} +2 -2
- package/dist/chunk-ZRXXVXV4.js +2 -0
- package/dist/{chunk-AEVZ7GEK.js.map → chunk-ZRXXVXV4.js.map} +1 -1
- 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 +1 -1
- 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 +4 -4
- package/dist/flows/ContractAmendment/hooks.d.ts +3 -3
- package/dist/flows/ContractAmendment/hooks.js +1 -1
- package/dist/flows/ContractAmendment/index.d.ts +1 -1
- package/dist/flows/ContractAmendment/index.js +1 -1
- package/dist/flows/ContractAmendment/utils.d.ts +1 -1
- package/dist/flows/CostCalculator/CostCalculatorDisclaimer.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorFlow.d.ts +3 -3
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +2 -6
- 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/CostCalculatorExtraStatutoryPaymentsBreakdown.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/api.d.ts +1 -1
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/context.d.ts +5 -5
- package/dist/flows/CostCalculator/hooks.d.ts +3 -4
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +2 -2
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +3 -2
- package/dist/flows/CostCalculator/utils.d.ts +2 -2
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +3 -3
- package/dist/flows/Onboarding/OnboardingFlow.js +1 -1
- package/dist/flows/Onboarding/api.d.ts +1 -1
- package/dist/flows/Onboarding/components/AnnualGrossSalary.js +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/BasicInformationStep.js +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/BenefitsStep.js +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/ContractDetailsStep.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingBack.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.d.ts +1 -1
- package/dist/flows/Onboarding/components/OnboardingForm.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.d.ts +1 -1
- package/dist/flows/Onboarding/components/OnboardingInvite.js +1 -1
- package/dist/flows/Onboarding/components/OnboardingSubmit.js +1 -1
- package/dist/flows/Onboarding/components/ReviewStep.d.ts +3 -3
- package/dist/flows/Onboarding/components/SelectCountryStep.d.ts +1 -1
- package/dist/flows/Onboarding/components/SelectCountryStep.js +1 -1
- package/dist/flows/Onboarding/context.d.ts +5 -5
- package/dist/flows/Onboarding/hooks.d.ts +3 -3
- package/dist/flows/Onboarding/hooks.js +1 -1
- package/dist/flows/Onboarding/index.d.ts +1 -1
- package/dist/flows/Onboarding/index.js +1 -1
- package/dist/flows/Onboarding/types.d.ts +1 -1
- package/dist/flows/Onboarding/utils.d.ts +1 -1
- package/dist/flows/Termination/AdditionalDetailsForm.d.ts +1 -1
- package/dist/flows/Termination/AdditionalDetailsForm.js +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.d.ts +1 -1
- package/dist/flows/Termination/EmployeeComunicationForm.js +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.d.ts +1 -1
- package/dist/flows/Termination/PaidTimeOffForm.js +1 -1
- package/dist/flows/Termination/TerminationBack.js +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.d.ts +1 -1
- package/dist/flows/Termination/TerminationDetailsForm.js +1 -1
- package/dist/flows/Termination/TerminationFlow.d.ts +3 -3
- package/dist/flows/Termination/TerminationFlow.js +1 -1
- package/dist/flows/Termination/TerminationForm.d.ts +1 -1
- package/dist/flows/Termination/TerminationForm.js +1 -1
- package/dist/flows/Termination/TerminationSubmit.js +1 -1
- package/dist/flows/Termination/TimeOff.d.ts +4 -4
- package/dist/flows/Termination/context.d.ts +3 -3
- package/dist/flows/Termination/hooks.d.ts +1 -1
- package/dist/flows/Termination/hooks.js +1 -1
- package/dist/flows/Termination/index.d.ts +1 -1
- package/dist/flows/Termination/index.js +1 -1
- package/dist/flows/Termination/types.d.ts +1 -1
- package/dist/flows/useStepState.d.ts +2 -2
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +7 -22
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internals.d.ts +107 -0
- package/dist/internals.js +2 -0
- package/dist/internals.js.map +1 -0
- package/dist/{types.gen-BqCe1GRY.d.ts → types.gen-D9fBRSTj.d.ts} +6 -1
- package/dist/utils-CjDMg_Yr.d.ts +22 -0
- package/package.json +13 -2
- package/dist/chunk-466M4PK7.js +0 -2
- package/dist/chunk-5PVQUO5Q.js +0 -2
- package/dist/chunk-7LZQJ5CL.js +0 -2
- package/dist/chunk-7LZQJ5CL.js.map +0 -1
- package/dist/chunk-AEVZ7GEK.js +0 -2
- package/dist/chunk-COHLMZEO.js +0 -2
- package/dist/chunk-COHLMZEO.js.map +0 -1
- package/dist/chunk-DPLXEXMO.js +0 -2
- package/dist/chunk-DPLXEXMO.js.map +0 -1
- package/dist/chunk-IXZAHZ7B.js +0 -2
- package/dist/chunk-IXZAHZ7B.js.map +0 -1
- package/dist/chunk-K5BC2TNP.js +0 -2
- package/dist/chunk-K5BC2TNP.js.map +0 -1
- package/dist/chunk-RX5GTE5Z.js +0 -2
- package/dist/chunk-RX5GTE5Z.js.map +0 -1
- package/dist/chunk-SRZGBJVA.js +0 -2
- package/dist/chunk-SRZGBJVA.js.map +0 -1
- package/dist/chunk-XFY4VAAJ.js +0 -2
- package/dist/chunk-XFY4VAAJ.js.map +0 -1
- package/dist/chunk-YHSNK7WB.js +0 -2
- /package/dist/{chunk-GXAX4KMX.js.map → chunk-3QXOTVAD.js.map} +0 -0
- /package/dist/{chunk-S62STPBT.js.map → chunk-3TQVP4BP.js.map} +0 -0
- /package/dist/{chunk-UIAPHRJJ.js.map → chunk-4HHGKSGL.js.map} +0 -0
- /package/dist/{chunk-D23KLJQM.js.map → chunk-5TNWGN5T.js.map} +0 -0
- /package/dist/{chunk-LWJQO625.js.map → chunk-7ULN2UW6.js.map} +0 -0
- /package/dist/{chunk-FKV6J4FL.js.map → chunk-DS2TO37X.js.map} +0 -0
- /package/dist/{chunk-R6OW77R6.js.map → chunk-E366OTIT.js.map} +0 -0
- /package/dist/{chunk-FBA3PMRV.js.map → chunk-ERMOQBXU.js.map} +0 -0
- /package/dist/{chunk-7CDCXJSI.js.map → chunk-FC7NRKYF.js.map} +0 -0
- /package/dist/{chunk-HQMY3X2R.js.map → chunk-FCABBFQ5.js.map} +0 -0
- /package/dist/{chunk-76UIUPEL.js.map → chunk-FW6EQA43.js.map} +0 -0
- /package/dist/{chunk-Y6FMG3PD.js.map → chunk-IQOX5IEE.js.map} +0 -0
- /package/dist/{chunk-DTTK5OBT.js.map → chunk-IV5GLWFN.js.map} +0 -0
- /package/dist/{chunk-DEGMU7EO.js.map → chunk-J3MB4Z6R.js.map} +0 -0
- /package/dist/{chunk-T6TIHUBQ.js.map → chunk-KCXP2NOU.js.map} +0 -0
- /package/dist/{chunk-D27IFECQ.js.map → chunk-KMC45C2J.js.map} +0 -0
- /package/dist/{chunk-OGAVWGSY.js.map → chunk-MHEIW3JW.js.map} +0 -0
- /package/dist/{chunk-3LGFQNYW.js.map → chunk-MWLD2A2O.js.map} +0 -0
- /package/dist/{chunk-4F4I7F2P.js.map → chunk-NAVGSG5R.js.map} +0 -0
- /package/dist/{chunk-F6FS5DBQ.js.map → chunk-NHAVKODB.js.map} +0 -0
- /package/dist/{chunk-A4ROBLPX.js.map → chunk-QNSEFFNN.js.map} +0 -0
- /package/dist/{chunk-5O4S4YZN.js.map → chunk-QP755MNN.js.map} +0 -0
- /package/dist/{chunk-6P4XGSZ6.js.map → chunk-S3C5DJXJ.js.map} +0 -0
- /package/dist/{chunk-Q5ZUVH3U.js.map → chunk-UWKND5NL.js.map} +0 -0
- /package/dist/{chunk-5CCAARDB.js.map → chunk-WWMMQZA3.js.map} +0 -0
- /package/dist/{chunk-7WDALAC7.js.map → chunk-XHBYAMFV.js.map} +0 -0
- /package/dist/{chunk-YKIFMONL.js.map → chunk-XJ7PCWMR.js.map} +0 -0
- /package/dist/{chunk-YYNQTHEX.js.map → chunk-XLBQWKQ2.js.map} +0 -0
- /package/dist/{chunk-2UPDFZ7P.js.map → chunk-XSRHFJ3Z.js.map} +0 -0
- /package/dist/{chunk-7F3TBWYV.js.map → chunk-Y4R7VMZM.js.map} +0 -0
- /package/dist/{chunk-A27ASO7K.js.map → chunk-YS7XEJJP.js.map} +0 -0
- /package/dist/{chunk-HQKBSMGN.js.map → chunk-ZCIUF3NB.js.map} +0 -0
- /package/dist/{chunk-IXVV7KPW.js.map → chunk-ZKNJTAP7.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 environment?: RemoteFlowsSDKProps['environment'];\n proxy?: RemoteFlowsSDKProps['proxy'];\n authId?: RemoteFlowsSDKProps['authId'];\n};\n\nfunction RemoteFlowContextWrapper({\n children,\n auth,\n authId,\n proxy,\n environment,\n}: RemoteFlowContextWrapperProps) {\n const remoteApiClient = useAuth({\n auth,\n authId,\n options: {\n proxy,\n environment,\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 authId,\n children,\n components,\n theme,\n proxy,\n environment,\n}: PropsWithChildren<RemoteFlowsSDKProps>) {\n return (\n <QueryClientProvider client={queryClient}>\n <FormFieldsProvider components={components}>\n <RemoteFlowContextWrapper\n auth={auth}\n authId={authId}\n proxy={proxy}\n environment={environment}\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 { 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 partners: 'https://gateway.partners.remote-sandbox.com',\n production: 'https://gateway.remote.com',\n sandbox: 'https://gateway.remote-sandbox.com',\n staging: 'https://gateway.niceremote.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';\nimport { debug } from './lib/utils';\n\ntype AuthResponse = {\n accessToken: string;\n expiresIn: number;\n};\n\ntype Options = Partial<{\n environment: keyof typeof ENVIRONMENTS;\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 authId = 'default',\n}: {\n auth: () => Promise<AuthResponse>;\n options?: Options;\n authId?: 'default' | 'client';\n}) => {\n const session = useRef<{ accessToken: string; expiresAt: number } | null>(\n null,\n );\n const { refetch } = useQuery({\n queryKey: ['auth', authId],\n queryFn: auth,\n enabled: false,\n });\n\n const baseUrl = options?.environment\n ? ENVIRONMENTS[options?.environment]\n : process.env.REMOTE_GATEWAY_URL;\n\n const clientConfig = client.getConfig();\n const npmPackageVersion = process.env.VERSION || 'unknown';\n\n if (options?.environment && options?.environment !== 'production') {\n debug(npmPackageVersion);\n }\n\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","setCssProperties","variables","root","v","propertyVal","__name","mapThemeColors","colors","result","key","mapThemeSpacing","spacing","mapThemeBorderRadius","borderRadius","mapThemeFont","font","applyTheme","theme","createContext","useEffect","useMemo","jsx","ThemeContext","createContext","ThemeProvider","props","useEffect","applyTheme","value","useMemo","__name","ENVIRONMENTS","createClient","useQuery","useRef","isValidUrl","url","__name","useAuth","auth","options","authId","session","useRef","refetch","useQuery","baseUrl","ENVIRONMENTS","clientConfig","client","npmPackageVersion","debug","isValidProxy","createClient","hasTokenExpired","expiresAt","data","jsx","queryClient","QueryClient","RemoteFlowContextWrapper","children","auth","authId","proxy","environment","remoteApiClient","useAuth","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 environment?: RemoteFlowsSDKProps['environment'];\n proxy?: RemoteFlowsSDKProps['proxy'];\n authId?: RemoteFlowsSDKProps['authId'];\n};\n\nfunction RemoteFlowContextWrapper({\n children,\n auth,\n authId,\n proxy,\n environment,\n}: RemoteFlowContextWrapperProps) {\n const remoteApiClient = useAuth({\n auth,\n authId,\n options: {\n proxy,\n environment,\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 authId,\n children,\n components,\n theme,\n proxy,\n environment,\n}: PropsWithChildren<RemoteFlowsSDKProps>) {\n return (\n <QueryClientProvider client={queryClient}>\n <FormFieldsProvider components={components}>\n <RemoteFlowContextWrapper\n auth={auth}\n authId={authId}\n proxy={proxy}\n environment={environment}\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 { 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 partners: 'https://gateway.partners.remote-sandbox.com',\n production: 'https://gateway.remote.com',\n sandbox: 'https://gateway.remote-sandbox.com',\n staging: 'https://gateway.niceremote.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';\nimport { debug } from './lib/utils';\n\ntype AuthResponse = {\n accessToken: string;\n expiresIn: number;\n};\n\ntype Options = Partial<{\n environment: keyof typeof ENVIRONMENTS;\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 authId = 'default',\n}: {\n auth: () => Promise<AuthResponse>;\n options?: Options;\n authId?: 'default' | 'client';\n}) => {\n const session = useRef<{ accessToken: string; expiresAt: number } | null>(\n null,\n );\n const { refetch } = useQuery({\n queryKey: ['auth', authId],\n queryFn: auth,\n enabled: false,\n });\n\n const baseUrl = options?.environment\n ? ENVIRONMENTS[options?.environment]\n : process.env.REMOTE_GATEWAY_URL;\n\n const clientConfig = client.getConfig();\n const npmPackageVersion = process.env.VERSION || 'unknown';\n\n if (options?.environment && options?.environment !== 'production') {\n debug(npmPackageVersion);\n }\n\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","setCssProperties","variables","root","v","propertyVal","__name","mapThemeColors","colors","result","key","mapThemeSpacing","spacing","mapThemeBorderRadius","borderRadius","mapThemeFont","font","applyTheme","theme","createContext","useEffect","useMemo","jsx","ThemeContext","createContext","ThemeProvider","props","useEffect","applyTheme","value","useMemo","__name","ENVIRONMENTS","createClient","useQuery","useRef","isValidUrl","url","__name","useAuth","auth","options","authId","session","useRef","refetch","useQuery","baseUrl","ENVIRONMENTS","clientConfig","client","npmPackageVersion","debug","isValidProxy","createClient","hasTokenExpired","expiresAt","data","jsx","queryClient","QueryClient","RemoteFlowContextWrapper","children","auth","authId","proxy","environment","remoteApiClient","useAuth","RemoteFlowContext","__name","FormFieldsProvider","components","FormFieldsContext","RemoteFlows","theme","QueryClientProvider","ThemeProvider"]}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
export { c as cn } from './utils-CjDMg_Yr.js';
|
|
2
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
3
|
+
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
4
|
+
import { VariantProps } from 'class-variance-authority';
|
|
5
|
+
import * as React from 'react';
|
|
6
|
+
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
7
|
+
import { Drawer as Drawer$1 } from 'vaul';
|
|
8
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
9
|
+
import * as TabsPrimitive from '@radix-ui/react-tabs';
|
|
10
|
+
import * as LabelPrimitive from '@radix-ui/react-label';
|
|
11
|
+
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
12
|
+
import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';
|
|
13
|
+
import * as SelectPrimitive from '@radix-ui/react-select';
|
|
14
|
+
import 'clsx';
|
|
15
|
+
import 'yup';
|
|
16
|
+
|
|
17
|
+
declare const useRouter: () => {
|
|
18
|
+
push: (url: string) => void;
|
|
19
|
+
replace: (url: string) => void;
|
|
20
|
+
back: () => void;
|
|
21
|
+
forward: () => void;
|
|
22
|
+
setSearchParams: (params: Record<string, string | number | null>) => void;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
declare const useSearchParams: () => {
|
|
26
|
+
get: (key: string) => string | null;
|
|
27
|
+
has: (key: string) => boolean;
|
|
28
|
+
toString: () => string;
|
|
29
|
+
searchParams: URLSearchParams;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
declare const buttonVariants: (props?: ({
|
|
33
|
+
variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
|
|
34
|
+
size?: "link" | "default" | "sm" | "lg" | "icon" | null | undefined;
|
|
35
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
36
|
+
declare function Button({ className, variant, size, asChild, ...props }: React.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
|
|
37
|
+
asChild?: boolean;
|
|
38
|
+
}): react_jsx_runtime.JSX.Element;
|
|
39
|
+
|
|
40
|
+
declare function Card({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
41
|
+
declare function CardHeader({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
42
|
+
declare function CardTitle({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
43
|
+
declare function CardDescription({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
44
|
+
declare function CardContent({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
45
|
+
declare function CardFooter({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
46
|
+
|
|
47
|
+
declare const Collapsible: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
|
|
48
|
+
declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
49
|
+
declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
50
|
+
|
|
51
|
+
declare const Drawer: {
|
|
52
|
+
({ shouldScaleBackground, ...props }: React.ComponentProps<typeof Drawer$1.Root>): react_jsx_runtime.JSX.Element;
|
|
53
|
+
displayName: string;
|
|
54
|
+
};
|
|
55
|
+
declare const DrawerTrigger: React.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
56
|
+
declare const DrawerContent: React.ForwardRefExoticComponent<Omit<Omit<DialogPrimitive.DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
57
|
+
showHandle?: boolean;
|
|
58
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
59
|
+
declare const DrawerHeader: {
|
|
60
|
+
({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
|
|
61
|
+
displayName: string;
|
|
62
|
+
};
|
|
63
|
+
declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
64
|
+
|
|
65
|
+
declare function Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
66
|
+
declare function DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
|
|
67
|
+
declare function DialogContent({ className, children, ...props }: React.ComponentProps<typeof DialogPrimitive.Content>): react_jsx_runtime.JSX.Element;
|
|
68
|
+
declare function DialogHeader({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
69
|
+
declare function DialogFooter({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
70
|
+
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>): react_jsx_runtime.JSX.Element;
|
|
71
|
+
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Description>): react_jsx_runtime.JSX.Element;
|
|
72
|
+
|
|
73
|
+
declare function Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
74
|
+
declare function TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>): react_jsx_runtime.JSX.Element;
|
|
75
|
+
declare function TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
|
|
76
|
+
declare function TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime.JSX.Element;
|
|
77
|
+
|
|
78
|
+
declare const alertVariants: (props?: ({
|
|
79
|
+
variant?: "default" | "destructive" | "warning" | null | undefined;
|
|
80
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
81
|
+
declare function Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>): react_jsx_runtime.JSX.Element;
|
|
82
|
+
declare function AlertTitle({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
83
|
+
declare function AlertDescription({ className, ...props }: React.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
|
|
84
|
+
|
|
85
|
+
declare const badgeVariants: (props?: ({
|
|
86
|
+
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
87
|
+
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
88
|
+
declare function Badge({ className, variant, asChild, ...props }: React.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
|
|
89
|
+
asChild?: boolean;
|
|
90
|
+
}): react_jsx_runtime.JSX.Element;
|
|
91
|
+
|
|
92
|
+
declare function Input({ className, type, ...props }: React.ComponentProps<'input'>): react_jsx_runtime.JSX.Element;
|
|
93
|
+
|
|
94
|
+
declare function Label({ className, ...props }: React.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
95
|
+
|
|
96
|
+
declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxPrimitive.CheckboxProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
97
|
+
|
|
98
|
+
declare function RadioGroup({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
99
|
+
declare function RadioGroupItem({ className, ...props }: React.ComponentProps<typeof RadioGroupPrimitive.Item>): react_jsx_runtime.JSX.Element;
|
|
100
|
+
|
|
101
|
+
declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): react_jsx_runtime.JSX.Element;
|
|
102
|
+
declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): react_jsx_runtime.JSX.Element;
|
|
103
|
+
declare function SelectTrigger({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Trigger>): react_jsx_runtime.JSX.Element;
|
|
104
|
+
declare function SelectContent({ className, children, position, ...props }: React.ComponentProps<typeof SelectPrimitive.Content>): react_jsx_runtime.JSX.Element;
|
|
105
|
+
declare function SelectItem({ className, children, ...props }: React.ComponentProps<typeof SelectPrimitive.Item>): react_jsx_runtime.JSX.Element;
|
|
106
|
+
|
|
107
|
+
export { Alert, AlertDescription, AlertTitle, Badge, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Drawer, DrawerContent, DrawerHeader, DrawerTitle, DrawerTrigger, Input, Label, RadioGroup, RadioGroupItem, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, Tabs, TabsContent, TabsList, TabsTrigger, badgeVariants, buttonVariants, useRouter, useSearchParams };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as q,b as y,c as z,d as E}from"./chunk-7R6GAOQG.js";import{a as J,b as K}from"./chunk-JNAFD452.js";import{a as B,b as F,c as G,d as L,e as k,f as j}from"./chunk-UBAEG2IO.js";import{a as A,b as H,d as I,e as V,f as h}from"./chunk-FMWLGLES.js";import{a as l,b as p,c as s,d as n,e as C,f as m,g,i as b,j as x,k as f,l as D,m as d,n as u,o as S,p as w,q as P,r as v,s as R}from"./chunk-HHE7W23D.js";import{a as T,b as c}from"./chunk-YS7XEJJP.js";import{a as t}from"./chunk-XCFIBTQN.js";import{a as i,b as a}from"./chunk-SHFIZENN.js";import{a as o}from"./chunk-PRK34ZQH.js";import{a as r}from"./chunk-HGLI6PUM.js";import"./chunk-P37U34EQ.js";import*as e from"@radix-ui/react-collapsible";var M=e.Root,N=e.CollapsibleTrigger,O=e.CollapsibleContent;export{p as Alert,n as AlertDescription,s as AlertTitle,c as Badge,a as Button,B as Card,k as CardContent,L as CardDescription,j as CardFooter,F as CardHeader,G as CardTitle,l as Checkbox,M as Collapsible,O as CollapsibleContent,N as CollapsibleTrigger,d as Dialog,S as DialogContent,R as DialogDescription,P as DialogFooter,w as DialogHeader,v as DialogTitle,u as DialogTrigger,A as Drawer,I as DrawerContent,V as DrawerHeader,h as DrawerTitle,H as DrawerTrigger,t as Input,o as Label,C as RadioGroup,m as RadioGroupItem,g as Select,f as SelectContent,D as SelectItem,x as SelectTrigger,b as SelectValue,q as Tabs,E as TabsContent,y as TabsList,z as TabsTrigger,T as badgeVariants,i as buttonVariants,r as cn,J as useRouter,K as useSearchParams};
|
|
2
|
+
//# sourceMappingURL=internals.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ui/collapsible.tsx"],"sourcesContent":["import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nconst Collapsible = CollapsiblePrimitive.Root;\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n"],"mappings":"uoBAAA,UAAYA,MAA0B,8BAEtC,IAAMC,EAAmC,OAEnCC,EAA0C,qBAE1CC,EAA0C","names":["CollapsiblePrimitive","Collapsible","CollapsibleTrigger","CollapsibleContent"]}
|
|
@@ -676,6 +676,11 @@ type MagicLinkResponse = {
|
|
|
676
676
|
* The stage of employment lifecycle. When it's `onboarded` means the employee is ready to commence or has already commenced.
|
|
677
677
|
*/
|
|
678
678
|
type EmploymentLifecycleStage = 'employment_creation' | 'employee_self_enrollment' | 'right_to_work_check' | 'contract_signing' | 'remote_enrollment' | 'onboarded' | 'offboarded';
|
|
679
|
+
type ValidationError = {
|
|
680
|
+
errors: {
|
|
681
|
+
[key: string]: unknown;
|
|
682
|
+
};
|
|
683
|
+
};
|
|
679
684
|
/**
|
|
680
685
|
* Contract Amendment Automatable response
|
|
681
686
|
*/
|
|
@@ -1346,4 +1351,4 @@ type PostConvertCurrencyConverterErrors = {
|
|
|
1346
1351
|
};
|
|
1347
1352
|
type PostConvertCurrencyConverterError = PostConvertCurrencyConverterErrors[keyof PostConvertCurrencyConverterErrors];
|
|
1348
1353
|
|
|
1349
|
-
export type { CreateContractEligibilityParams as A, PostCreateOffboardingError as B, ContractAmendmentAutomatableResponse as C, TimeoffStatus as D, EmploymentShowResponse as E, CostCalculatorEmployment as F, Currency as G, ListTimeoffResponse as L, MinimalRegion as M, OffboardingResponse as O, PostAutomatableContractAmendmentError as P, SuccessResponse as S, TerminationDetailsParams as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ContractAmendmentResponse as a, PostCreateContractAmendmentError as b, CostCalculatorEstimateResponse as c, CostCalculatorEstimatePdfResponse as d, PostCreateEstimationPdfError as e, CostCalculatorEstimateParams as f, PostCreateEstimationError as g, EmploymentTermType as h, Employment as i, Company as j, PostInviteEmploymentInvitationError as k, PostCreateRiskReserveError as l, EmploymentCreationResponse as m, PostCreateEmployment2Error as n, EmploymentCreateParams as o, EmploymentResponse as p, PatchUpdateEmployment2Error as q, EmploymentFullParams as r, PutUpdateBenefitOfferError as s, MagicLinkResponse as t, UnprocessableEntityResponse as u, MagicLinkParams as v, ConvertCurrencyResponse as w, PostConvertCurrencyConverterError as x, ConvertCurrencyParams as y, PostCreateContractEligibilityError as z };
|
|
1354
|
+
export type { CreateContractEligibilityParams as A, PostCreateOffboardingError as B, ContractAmendmentAutomatableResponse as C, TimeoffStatus as D, EmploymentShowResponse as E, CostCalculatorEmployment as F, Currency as G, ListTimeoffResponse as L, MinimalRegion as M, OffboardingResponse as O, PostAutomatableContractAmendmentError as P, SuccessResponse as S, TerminationDetailsParams as T, UnifiedEmploymentUpsertBenefitOffersRequest as U, ValidationError as V, ContractAmendmentResponse as a, PostCreateContractAmendmentError as b, CostCalculatorEstimateResponse as c, CostCalculatorEstimatePdfResponse as d, PostCreateEstimationPdfError as e, CostCalculatorEstimateParams as f, PostCreateEstimationError as g, EmploymentTermType as h, Employment as i, Company as j, PostInviteEmploymentInvitationError as k, PostCreateRiskReserveError as l, EmploymentCreationResponse as m, PostCreateEmployment2Error as n, EmploymentCreateParams as o, EmploymentResponse as p, PatchUpdateEmployment2Error as q, EmploymentFullParams as r, PutUpdateBenefitOfferError as s, MagicLinkResponse as t, UnprocessableEntityResponse as u, MagicLinkParams as v, ConvertCurrencyResponse as w, PostConvertCurrencyConverterError as x, ConvertCurrencyParams as y, PostCreateContractEligibilityError as z };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ClassValue } from 'clsx';
|
|
2
|
+
import { ValidationError } from 'yup';
|
|
3
|
+
|
|
4
|
+
declare function cn(...inputs: ClassValue[]): string;
|
|
5
|
+
type YupError = Pick<ValidationError, 'type' | 'errors'> & {
|
|
6
|
+
inner: Record<string, YupError>[];
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Transforms a Yup ValidationError object into a more readable object. The format is as follows:
|
|
10
|
+
* {
|
|
11
|
+
* [fieldName]: {
|
|
12
|
+
* type: string,
|
|
13
|
+
* errors: string[],
|
|
14
|
+
* inner: YupError[],
|
|
15
|
+
* },
|
|
16
|
+
* }
|
|
17
|
+
* @param errors
|
|
18
|
+
* @returns
|
|
19
|
+
*/
|
|
20
|
+
declare const transformYupErrorsIntoObject: (errors: ValidationError) => Record<string, YupError>;
|
|
21
|
+
|
|
22
|
+
export { cn as c, transformYupErrorsIntoObject as t };
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@remoteoss/remote-flows",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"scripts": {
|
|
5
5
|
"build": "NODE_ENV=production tsup",
|
|
6
6
|
"ci": "npm run build && npm run check-format && npm run check-exports && npm run lint && npm run test",
|
|
7
|
-
"check-exports": "attw --pack . --ignore-rules=cjs-resolves-to-esm --exclude-entrypoints index.css",
|
|
7
|
+
"check-exports": "attw --pack . --ignore-rules=cjs-resolves-to-esm --exclude-entrypoints index.css --profile node16",
|
|
8
8
|
"check-format": "prettier --check .",
|
|
9
9
|
"dev": "NODE_ENV=development tsup --watch",
|
|
10
10
|
"build:reset": "postcss src/styles/reset.css -o ./example/src/css/reset.css",
|
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
"release": "changeset publish",
|
|
21
21
|
"type-check": "tsc --noEmit"
|
|
22
22
|
},
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=16"
|
|
25
|
+
},
|
|
23
26
|
"type": "module",
|
|
24
27
|
"main": "dist/index.js",
|
|
25
28
|
"exports": {
|
|
@@ -30,6 +33,13 @@
|
|
|
30
33
|
},
|
|
31
34
|
"default": "./dist/index.js"
|
|
32
35
|
},
|
|
36
|
+
"./internals": {
|
|
37
|
+
"import": {
|
|
38
|
+
"types": "./dist/internals.d.ts",
|
|
39
|
+
"default": "./dist/internals.js"
|
|
40
|
+
},
|
|
41
|
+
"default": "./dist/internals.js"
|
|
42
|
+
},
|
|
33
43
|
"./flows/*": {
|
|
34
44
|
"import": {
|
|
35
45
|
"types": "./dist/flows/*.d.ts",
|
|
@@ -65,6 +75,7 @@
|
|
|
65
75
|
"@radix-ui/react-slot": "^1.1.2",
|
|
66
76
|
"@radix-ui/react-tabs": "^1.1.3",
|
|
67
77
|
"@radix-ui/react-tooltip": "^1.1.8",
|
|
78
|
+
"@radix-ui/react-collapsible": "1.1.2",
|
|
68
79
|
"@remoteoss/json-schema-form": "0.11.10-beta.0",
|
|
69
80
|
"@tailwindcss/cli": "^4.0.9",
|
|
70
81
|
"@tailwindcss/postcss": "^4.0.9",
|
package/dist/chunk-466M4PK7.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as m,b as d,c as p}from"./chunk-SRZGBJVA.js";import{a as l}from"./chunk-G4NBJTHB.js";import{b as i}from"./chunk-SHFIZENN.js";import{b as r}from"./chunk-HGLI6PUM.js";import{a as o}from"./chunk-P37U34EQ.js";import{Info as v}from"lucide-react";import{Fragment as c,jsx as e,jsxs as t}from"react/jsx-runtime";function w({contributionsTotal:u,currency:a,contributionsBreakdown:n}){let f=d();return t("div",{children:[t("div",{className:"flex justify-between items-center mb-2",children:[e("h3",{className:"font-medium text-primary-foreground",children:"Employer Contributions"}),e("span",{className:"font-semibold text-lg",children:r(u,a)})]}),n?t(c,{children:[e(l,{className:"mb-3"}),e("div",{className:"space-y-3 pl-2",children:n.map((s,g)=>t("div",{className:"flex justify-between items-start text-sm",children:[t("div",{className:"flex items-start gap-2",children:[e("span",{children:s.name}),s.description&&e(m,{content:t(c,{children:[e("span",{children:s.description}),s.zendesk_article_url&&e(p,{zendeskId:s.zendesk_article_id,zendeskURL:s.zendesk_article_url,Trigger:e("button",{onClick:()=>{let k=s.zendesk_article_id;f.setSearchParams({articleId:k||""})},className:"text-blue-500 hover:underline block mt-1 text-xs bg-transparent border-none cursor-pointer p-0",children:"Learn more"})})]}),children:t(i,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0",children:[e(v,{className:"h-3 w-3 text-gray-400"}),e("span",{className:"sr-only",children:"Info"})]})})]}),e("span",{children:r(s.amount,a)})]},g))})]}):null]})}o(w,"CostCalculatorContributionsBreakdown");export{w as a};
|
|
2
|
-
//# sourceMappingURL=chunk-466M4PK7.js.map
|
package/dist/chunk-5PVQUO5Q.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as l,b as m,c}from"./chunk-SRZGBJVA.js";import{a as i}from"./chunk-G4NBJTHB.js";import{b as o}from"./chunk-SHFIZENN.js";import{b as a}from"./chunk-HGLI6PUM.js";import{a as n}from"./chunk-P37U34EQ.js";import{Info as x}from"lucide-react";import{Fragment as g,jsx as t,jsxs as r}from"react/jsx-runtime";function P({extraStatutoryPaymentsTotal:d,extraStatutoryPaymentsBreakdown:u,currency:s}){let p=m();return r("div",{children:[r("div",{className:"flex justify-between items-center mb-2",children:[t("h3",{className:"font-medium text-primary-foreground-800",children:"Extra Statutory Payments"}),t("span",{className:"font-semibold text-lg",children:a(d,s)})]}),t(i,{className:"mb-3"}),t("div",{className:"space-y-3 pl-2",children:u.map((e,f)=>r("div",{className:"flex justify-between items-start text-sm",children:[r("div",{className:"flex items-start gap-2",children:[t("span",{children:e.name}),e.description&&t(l,{content:r(g,{children:[t("span",{children:e.description}),e.zendesk_article_url&&t(c,{zendeskId:e.zendesk_article_id,zendeskURL:e.zendesk_article_url,Trigger:t("button",{onClick:()=>{let k=e.zendesk_article_id;p.setSearchParams({articleId:k||""})},className:"text-blue-500 hover:underline block mt-1 text-xs bg-transparent border-none cursor-pointer p-0",children:"Learn more"})})]}),children:r(o,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0",children:[t(x,{className:"h-3 w-3 text-gray-400"}),t("span",{className:"sr-only",children:"Info"})]})})]}),t("span",{children:a(e.amount,s)})]},f))})]})}n(P,"CostCalculatorExtraStatutoryPaymentsBreakdown");export{P as a};
|
|
2
|
-
//# sourceMappingURL=chunk-5PVQUO5Q.js.map
|
package/dist/chunk-7LZQJ5CL.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as i}from"./chunk-HGLI6PUM.js";import{a as s}from"./chunk-P37U34EQ.js";import*as n from"react";import{Drawer as r}from"vaul";import{jsx as a,jsxs as l}from"react/jsx-runtime";var p=s(({shouldScaleBackground:e=!0,...t})=>a(r.Root,{shouldScaleBackground:e,...t}),"Drawer");p.displayName="Drawer";var v=r.Trigger,d=r.Portal,N=r.Close,m=n.forwardRef(({className:e,...t},o)=>a(r.Overlay,{ref:o,className:i("fixed inset-0 z-50 bg-black/80",e),...t}));m.displayName=r.Overlay.displayName;var f=n.forwardRef(({className:e,children:t,...o},c)=>l(d,{children:[a(m,{}),l(r.Content,{ref:c,className:i("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",e),...o,children:[a("div",{className:"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted"}),t]})]}));f.displayName="DrawerContent";var D=s(({className:e,...t})=>a("div",{className:i("grid gap-1.5 p-4 text-center sm:text-left",e),...t}),"DrawerHeader");D.displayName="DrawerHeader";var w=s(({className:e,...t})=>a("div",{className:i("mt-auto flex flex-col gap-2 p-4",e),...t}),"DrawerFooter");w.displayName="DrawerFooter";var R=n.forwardRef(({className:e,...t},o)=>a(r.Title,{ref:o,className:i("text-lg font-semibold leading-none tracking-tight",e),...t}));R.displayName=r.Title.displayName;var g=n.forwardRef(({className:e,...t},o)=>a(r.Description,{ref:o,className:i("text-sm text-muted-foreground",e),...t}));g.displayName=r.Description.displayName;export{p as a,v as b,N as c,f as d,D as e,R as f,g};
|
|
2
|
-
//# sourceMappingURL=chunk-7LZQJ5CL.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/drawer.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nimport { cn } from '@/src/lib/utils';\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n);\nDrawer.displayName = 'Drawer';\n\nconst DrawerTrigger = DrawerPrimitive.Trigger;\n\nconst DrawerPortal = DrawerPrimitive.Portal;\n\nconst DrawerClose = DrawerPrimitive.Close;\n\nconst DrawerOverlay = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn('fixed inset-0 z-50 bg-black/80', className)}\n {...props}\n />\n));\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;\n\nconst DrawerContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background',\n className,\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n));\nDrawerContent.displayName = 'DrawerContent';\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('grid gap-1.5 p-4 text-center sm:text-left', className)}\n {...props}\n />\n);\nDrawerHeader.displayName = 'DrawerHeader';\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n);\nDrawerFooter.displayName = 'DrawerFooter';\n\nconst DrawerTitle = React.forwardRef<\n HTMLHeadingElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n 'text-lg font-semibold leading-none tracking-tight',\n className,\n )}\n {...props}\n />\n));\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName;\n\nconst DrawerDescription = React.forwardRef<\n HTMLParagraphElement,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n));\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName;\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};\n"],"mappings":"gFAEA,UAAYA,MAAW,QACvB,OAAS,UAAUC,MAAuB,OAQxC,cAAAC,EA+BE,QAAAC,MA/BF,oBAJF,IAAMC,EAASC,EAAA,CAAC,CACd,sBAAAC,EAAwB,GACxB,GAAGC,CACL,IACEL,EAACM,EAAgB,KAAhB,CACC,sBAAuBF,EACtB,GAAGC,EACN,EAPa,UASfH,EAAO,YAAc,SAErB,IAAMK,EAAgBD,EAAgB,QAEhCE,EAAeF,EAAgB,OAE/BG,EAAcH,EAAgB,MAE9BI,EAAsB,aAG1B,CAAC,CAAE,UAAAC,EAAW,GAAGN,CAAM,EAAGO,IAC1BZ,EAACM,EAAgB,QAAhB,CACC,IAAKM,EACL,UAAWC,EAAG,iCAAkCF,CAAS,EACxD,GAAGN,EACN,CACD,EACDK,EAAc,YAAcJ,EAAgB,QAAQ,YAEpD,IAAMQ,EAAsB,aAG1B,CAAC,CAAE,UAAAH,EAAW,SAAAI,EAAU,GAAGV,CAAM,EAAGO,IACpCX,EAACO,EAAA,CACC,UAAAR,EAACU,EAAA,EAAc,EACfT,EAACK,EAAgB,QAAhB,CACC,IAAKM,EACL,UAAWC,EACT,iGACAF,CACF,EACC,GAAGN,EAEJ,UAAAL,EAAC,OAAI,UAAU,mDAAmD,EACjEe,GACH,GACF,CACD,EACDD,EAAc,YAAc,gBAE5B,IAAME,EAAeb,EAAA,CAAC,CACpB,UAAAQ,EACA,GAAGN,CACL,IACEL,EAAC,OACC,UAAWa,EAAG,4CAA6CF,CAAS,EACnE,GAAGN,EACN,EAPmB,gBASrBW,EAAa,YAAc,eAE3B,IAAMC,EAAed,EAAA,CAAC,CACpB,UAAAQ,EACA,GAAGN,CACL,IACEL,EAAC,OACC,UAAWa,EAAG,kCAAmCF,CAAS,EACzD,GAAGN,EACN,EAPmB,gBASrBY,EAAa,YAAc,eAE3B,IAAMC,EAAoB,aAGxB,CAAC,CAAE,UAAAP,EAAW,GAAGN,CAAM,EAAGO,IAC1BZ,EAACM,EAAgB,MAAhB,CACC,IAAKM,EACL,UAAWC,EACT,oDACAF,CACF,EACC,GAAGN,EACN,CACD,EACDa,EAAY,YAAcZ,EAAgB,MAAM,YAEhD,IAAMa,EAA0B,aAG9B,CAAC,CAAE,UAAAR,EAAW,GAAGN,CAAM,EAAGO,IAC1BZ,EAACM,EAAgB,YAAhB,CACC,IAAKM,EACL,UAAWC,EAAG,gCAAiCF,CAAS,EACvD,GAAGN,EACN,CACD,EACDc,EAAkB,YAAcb,EAAgB,YAAY","names":["React","DrawerPrimitive","jsx","jsxs","Drawer","__name","shouldScaleBackground","props","DrawerPrimitive","DrawerTrigger","DrawerPortal","DrawerClose","DrawerOverlay","className","ref","cn","DrawerContent","children","DrawerHeader","DrawerFooter","DrawerTitle","DrawerDescription"]}
|
package/dist/chunk-AEVZ7GEK.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as l,b as m,c as d}from"./chunk-SRZGBJVA.js";import{a as i}from"./chunk-G4NBJTHB.js";import{b as o}from"./chunk-SHFIZENN.js";import{b as r}from"./chunk-HGLI6PUM.js";import{a as n}from"./chunk-P37U34EQ.js";import{Info as g}from"lucide-react";import{Fragment as v,jsx as e,jsxs as t}from"react/jsx-runtime";function b({benefitsTotal:c,benefitsBreakdown:p,currency:a}){let u=m();return t("div",{children:[t("div",{className:"flex justify-between items-center mb-2",children:[e("h3",{className:"font-medium text-primary-foreground-800",children:"Benefits"}),e("span",{className:"font-semibold text-lg",children:r(c,a)})]}),e(i,{className:"mb-3"}),e("div",{className:"space-y-3 pl-2",children:p.map((s,f)=>t("div",{className:"flex justify-between items-start text-sm",children:[t("div",{className:"flex items-start gap-2",children:[e("span",{children:s.name}),s.description&&e(l,{content:t(v,{children:[e("span",{children:s.description}),s.zendesk_article_url&&e(d,{zendeskId:s.zendesk_article_id,zendeskURL:s.zendesk_article_url,Trigger:e("button",{onClick:()=>{let k=s.zendesk_article_id;u.setSearchParams({articleId:k||""})},className:"text-blue-500 hover:underline block mt-1 text-xs bg-transparent border-none cursor-pointer p-0",children:"Learn more"})})]}),children:t(o,{variant:"ghost",size:"icon",className:"h-4 w-4 p-0",children:[e(g,{className:"h-3 w-3 text-gray-400"}),e("span",{className:"sr-only",children:"Info"})]})})]}),e("span",{children:r(s.amount,a)})]},f))})]})}n(b,"CostCalculatorBenefitsBreakdown");export{b as a};
|
|
2
|
-
//# sourceMappingURL=chunk-AEVZ7GEK.js.map
|
package/dist/chunk-COHLMZEO.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as q}from"./chunk-YKIFMONL.js";import{a as L}from"./chunk-UPRUP24B.js";import{a as A,b as v,c as k,e as T}from"./chunk-C3KZEPUZ.js";import{a as x}from"./chunk-CFIJKJXD.js";import{c as g}from"./chunk-MXFDOIUA.js";import{a as o}from"./chunk-P37U34EQ.js";import{object as ce}from"yup";import{createHeadlessForm as ie,modify as ne}from"@remoteoss/json-schema-form";import{useMemo as se,useState as P}from"react";import{string as G,ValidationError as U}from"yup";import{jsx as le}from"react/jsx-runtime";var j={title:"Estimation",includeBenefits:!1,includeCostBreakdowns:!1,includePremiumBenefits:!1,enableCurrencyConversion:!1},ae=o(t=>{let{schema:i}=ne(L.data.schema,t?.jsfModify||{});return ie(i)},"useStaticSchema"),be=o(({defaultRegion:t,estimationOptions:i,options:n,version:l}={estimationOptions:j})=>{let[p,m]=P(t),[f,M]=P(),[B,I]=P(),{data:C,isLoading:N}=A({includePremiumBenefits:i.includePremiumBenefits}),{data:E,isLoading:z}=v(),D=p||f?.value,{data:S,isLoading:K}=T(D,{includePremiumBenefits:i.includePremiumBenefits,options:n}),w=k(),O=f?.currency,c=n?.jsfModify?.fields?.salary,y=c&&typeof c=="object"&&"presentation"in c?c.presentation:void 0,Q=se(()=>({fields:{salary:{...c,presentation:{salary_conversion_properties:{label:y?.salary_conversion_properties?.label,description:y?.salary_conversion_properties?.description},currencies:{from:O,to:B},Component:o(e=>le(q,{...e}),"Component")}}}}),[O,B,c,y?.salary_conversion_properties?.description,y?.salary_conversion_properties?.label]),u=ae({jsfModify:{fields:{...n?.jsfModify?.fields,...Q?.fields}}});async function W(e){try{await b.validate(e,{abortEarly:!1})}catch(r){return{data:null,error:r}}return new Promise((r,s)=>{w.mutate(H(e,i,l),{onSuccess:o(a=>{a.data?r({data:a.data,error:null}):r({data:null,error:new Error("Something went wrong. Please try again later.")})},"onSuccess"),onError:o(a=>{s({data:null,error:a})},"onError")})})}o(W,"onSubmit");function X(e){let r=C?.find(({value:s})=>s===e);r&&r.childRegions.length===0&&r.hasAdditionalFields?m(r.regionSlug):m(void 0),M(r)}o(X,"onCountryChange");function Y(e){m(e)}o(Y,"onRegionChange");function Z(e){let r=E?.find(s=>s.value===e)?.label;I(r)}o(Z,"onChangeCurrency");let d=u.fields.find(e=>e.name==="region");if(d){let e=f?.childRegions.map(r=>({value:r.slug,label:r.name}))??[];d.options=e,d.isVisible=e.length>0,d.required=e.length>0,d.onChange=Y,d.schema=e.length>0?G().transform(r=>typeof r=="string"?r:"").required("Region is required"):G()}if(E){let e=u.fields.find(r=>r.name==="currency");e&&(e.options=E,e.onChange=Z)}if(C){let e=u.fields.find(r=>r.name==="country");e&&(e.options=C,e.onChange=X)}let ee=o(()=>{M(void 0),m(t)},"resetForm"),J=[...u.fields,...S?.fields||[]],b=$(u.fields);async function re(e){let r=null,s=g(e,J);try{await b.validate(s,{abortEarly:!1}),r={formErrors:{},yupError:new U([],e)}}catch(F){let V=x(F);r={formErrors:Object.entries(V).reduce((R,[te,oe])=>({...R,[te]:oe.message}),{}),yupError:F}}let a=S?.handleValidation(s),h=[...r?.yupError.inner||[],...a?.yupError?.inner||[]],_={...r?.yupError?.value||{},...a?.yupError?.value||{}};return{formErrors:{...r?.formErrors||{},...a?.formErrors||{}},yupError:new U(h,_)}}return o(re,"handleValidation"),{stepState:{current:0,total:1,isLastStep:!0},fields:J,validationSchema:b,parseFormValues:o(e=>{let{country:r,region:s,salary:a,currency:h,..._}=e,V=g({country:r,region:s,salary:a,currency:h},u.fields),R=g(_,S?.fields||[]);return{...V,...R}},"parseFormValues"),handleValidation:re,isSubmitting:w.isPending,isLoading:N&&z&&K,onSubmit:W,resetForm:ee}},"useCostCalculator");function $(t){let i=t.reduce((n,l)=>(n[l.name]=l.schema,n),{});return ce(i)}o($,"buildValidationSchema");function ue(t){let i="benefit-";return Object.keys(t).reduce((n,l)=>{let p=t[l];if(p==="none")return n;let f={benefit_group_slug:l.replace(i,""),benefit_tier_slug:p};return[...n,f]},[])}o(ue,"formatBenefits");function H(t,i=j,n="standard"){return{employer_currency_slug:t.currency,include_benefits:i.includeBenefits,include_cost_breakdowns:i.includeCostBreakdowns,include_premium_benefits:i.includePremiumBenefits,employments:[{region_slug:t.region||t.country,annual_gross_salary_in_employer_currency:t.salary,employment_term:t.contract_duration_type??"fixed",title:i.title,age:t.age??void 0,...t.benefits&&{benefits:ue(t.benefits)},...n==="standard"&&{annual_gross_salary:t.salary}}]}}o(H,"buildPayload");export{$ as a,H as b,j as c,be as d};
|
|
2
|
-
//# sourceMappingURL=chunk-COHLMZEO.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/utils.ts","../src/flows/CostCalculator/hooks.tsx"],"sourcesContent":["import type { CostCalculatorEstimateParams } from '@/src/client';\n\nimport { $TSFixMe } from '@/src/types/remoteFlows';\nimport { AnyObjectSchema, object } from 'yup';\nimport { CostCalculatorVersion, defaultEstimationOptions } from './hooks';\nimport type {\n CostCalculatorEstimationOptions,\n CostCalculatorEstimationSubmitValues,\n} from './types';\n\n/**\n * Build the validation schema for the form.\n * @returns\n */\nexport function buildValidationSchema(fields: $TSFixMe[]) {\n const fieldsSchema = fields.reduce<Record<string, AnyObjectSchema>>(\n (fieldsSchemaAcc, field) => {\n fieldsSchemaAcc[field.name] = field.schema as AnyObjectSchema;\n return fieldsSchemaAcc;\n },\n {},\n );\n return object(fieldsSchema) as AnyObjectSchema;\n}\n\n/**\n * Format the benefits to the expected format by the API.\n * @param benefits\n * @returns\n */\nfunction formatBenefits(benefits: Record<string, string>) {\n const needle = 'benefit-';\n return Object.keys(benefits).reduce<\n Array<{ benefit_group_slug: string; benefit_tier_slug: string }>\n >((acc, key) => {\n const benefitTierSlug = benefits[key];\n if (benefitTierSlug === 'none') {\n return acc;\n }\n const benefitGroupSlug = key.replace(needle, '');\n const benefitEntry = {\n benefit_group_slug: benefitGroupSlug,\n benefit_tier_slug: benefitTierSlug,\n };\n return [...acc, benefitEntry];\n }, []);\n}\n\n/**\n * Build the payload for the cost calculator estimation.\n * @param values\n * @param estimationOptions\n * @returns\n */\nexport function buildPayload(\n values: CostCalculatorEstimationSubmitValues,\n estimationOptions: CostCalculatorEstimationOptions = defaultEstimationOptions,\n version: CostCalculatorVersion = 'standard',\n): CostCalculatorEstimateParams {\n return {\n employer_currency_slug: values.currency,\n include_benefits: estimationOptions.includeBenefits,\n include_cost_breakdowns: estimationOptions.includeCostBreakdowns,\n include_premium_benefits: estimationOptions.includePremiumBenefits,\n employments: [\n {\n region_slug: values.region || values.country,\n annual_gross_salary_in_employer_currency: values.salary,\n employment_term: values.contract_duration_type ?? 'fixed',\n title: estimationOptions.title,\n age: values.age ?? undefined,\n ...(values.benefits && { benefits: formatBenefits(values.benefits) }),\n ...(version === 'standard' && {\n annual_gross_salary: values.salary,\n }),\n },\n ],\n };\n}\n","import {\n CostCalculatorEstimateResponse,\n MinimalRegion,\n PostCreateEstimationError,\n} from '@/src/client';\nimport { jsonSchema } from '@/src/flows/CostCalculator/jsonSchema';\nimport type {\n CostCalculatorEstimationFormValues,\n CostCalculatorEstimationOptions,\n CostCalculatorEstimationSubmitValues,\n} from '@/src/flows/CostCalculator/types';\nimport type { JSFModify, Result } from '@/src/flows/types';\n\nimport { parseJSFToValidate } from '@/src/components/form/utils';\nimport { iterateErrors } from '@/src/components/form/yupValidationResolver';\nimport { createHeadlessForm, modify } from '@remoteoss/json-schema-form';\nimport { useMemo, useState } from 'react';\nimport { string, ValidationError } from 'yup';\nimport { buildPayload, buildValidationSchema } from './utils';\nimport {\n useCompanyCurrencies,\n useCostCalculatorCountries,\n useCostCalculatorEstimation,\n useRegionFields,\n} from '@/src/flows/CostCalculator/api';\nimport { JSFField } from '@/src/types/remoteFlows';\nimport { SalaryField } from '@/src/flows/CostCalculator/components/SalaryField';\n\nexport type CostCalculatorVersion = 'standard' | 'marketing';\n\ntype CostCalculatorCountry = {\n value: string;\n label: string;\n childRegions: MinimalRegion[];\n hasAdditionalFields: boolean | undefined;\n regionSlug: string;\n currency: string;\n};\n\ntype JSFValidationError = {\n formErrors: Record<\n string,\n {\n type: string;\n message: string;\n }\n >;\n yupError: ValidationError;\n};\n\nexport const defaultEstimationOptions: CostCalculatorEstimationOptions = {\n title: 'Estimation',\n includeBenefits: false,\n includeCostBreakdowns: false,\n includePremiumBenefits: false,\n enableCurrencyConversion: false,\n};\n\ntype UseCostCalculatorParams = {\n /**\n * The default region slug to preselect a country and a region.\n */\n defaultRegion?: string;\n /**\n * The estimation options.\n */\n estimationOptions: CostCalculatorEstimationOptions;\n options?: {\n jsfModify?: JSFModify;\n };\n version?: CostCalculatorVersion;\n};\n\nexport type EstimationError = PostCreateEstimationError | ValidationError;\n\nconst useStaticSchema = (options?: { jsfModify?: JSFModify }) => {\n const { schema: jsonSchemaModified } = modify(\n jsonSchema.data.schema,\n options?.jsfModify || {},\n );\n\n return createHeadlessForm(jsonSchemaModified);\n};\n\n/**\n * Hook to use the cost calculator.\n */\nexport const useCostCalculator = (\n {\n defaultRegion,\n estimationOptions,\n options,\n version,\n }: UseCostCalculatorParams = {\n estimationOptions: defaultEstimationOptions,\n },\n) => {\n const [selectedRegion, setSelectedRegion] = useState<string | undefined>(\n defaultRegion,\n );\n const [selectedCountry, setSelectedCountry] =\n useState<CostCalculatorCountry>();\n const [employerBillingCurrency, setEmployerBillingCurrency] = useState<\n string | undefined\n >();\n const { data: countries, isLoading: isLoadingCountries } =\n useCostCalculatorCountries({\n includePremiumBenefits: estimationOptions.includePremiumBenefits,\n });\n const { data: currencies, isLoading: isLoadingCurrencies } =\n useCompanyCurrencies();\n\n const jsonSchemaRegionSlug = selectedRegion || selectedCountry?.value;\n\n const { data: jsonSchemaRegionFields, isLoading: isLoadingRegionFields } =\n useRegionFields(jsonSchemaRegionSlug, {\n includePremiumBenefits: estimationOptions.includePremiumBenefits,\n options,\n });\n const costCalculatorEstimationMutation = useCostCalculatorEstimation();\n const employeeBillingCurrency = selectedCountry?.currency;\n\n const salaryField = options?.jsfModify?.fields?.salary;\n const salaryFieldPresentation =\n salaryField &&\n typeof salaryField === 'object' &&\n 'presentation' in salaryField\n ? (\n salaryField as {\n presentation?: {\n salary_conversion_properties?: {\n label?: string;\n description?: string;\n };\n };\n }\n ).presentation\n : undefined;\n\n const customFields = useMemo(() => {\n return {\n fields: {\n salary: {\n ...salaryField,\n presentation: {\n salary_conversion_properties: {\n label:\n salaryFieldPresentation?.salary_conversion_properties?.label,\n description:\n salaryFieldPresentation?.salary_conversion_properties\n ?.description,\n },\n currencies: {\n from: employeeBillingCurrency,\n to: employerBillingCurrency,\n },\n Component: (\n props: JSFField & { currencies: { from: string; to: string } },\n ) => {\n return <SalaryField {...props} />;\n },\n },\n },\n },\n };\n }, [\n employeeBillingCurrency,\n employerBillingCurrency,\n salaryField,\n salaryFieldPresentation?.salary_conversion_properties?.description,\n salaryFieldPresentation?.salary_conversion_properties?.label,\n ]);\n\n const fieldsJSONSchema = useStaticSchema({\n jsfModify: {\n fields: {\n ...options?.jsfModify?.fields,\n ...customFields?.fields,\n },\n },\n });\n\n /**\n * Submit the estimation form with the given values.\n * @param values\n */\n async function onSubmit(\n values: CostCalculatorEstimationSubmitValues,\n ): Promise<Result<CostCalculatorEstimateResponse, EstimationError>> {\n try {\n await validationSchema.validate(values, { abortEarly: false });\n } catch (err) {\n return {\n data: null,\n error: err as ValidationError,\n };\n }\n\n return new Promise((resolve, reject) => {\n costCalculatorEstimationMutation.mutate(\n buildPayload(values, estimationOptions, version),\n {\n onSuccess: (response) => {\n if (response.data) {\n resolve({\n data: response.data,\n error: null,\n });\n } else {\n resolve({\n data: null,\n error: new Error(\n 'Something went wrong. Please try again later.',\n ),\n });\n }\n },\n onError: (error) => {\n reject({\n data: null,\n error: error as PostCreateEstimationError,\n });\n },\n },\n );\n });\n }\n\n /**\n * If the selected country has no child regions and has additional fields,\n * set the current region to the country's region slug and fetch the region fields.\n * @param country\n */\n function onCountryChange(country: string) {\n const currentCountry = countries?.find(({ value }) => value === country);\n\n if (\n currentCountry &&\n currentCountry.childRegions.length === 0 &&\n currentCountry.hasAdditionalFields\n ) {\n setSelectedRegion(currentCountry.regionSlug);\n } else {\n setSelectedRegion(undefined);\n }\n setSelectedCountry(currentCountry);\n }\n\n /**\n * Update the selected region and fetch the region fields.\n * @param region\n */\n function onRegionChange(region: string) {\n setSelectedRegion(region);\n }\n\n function onChangeCurrency(currency: string) {\n const selectedCurrency = currencies?.find(\n (c) => c.value === currency,\n )?.label;\n setEmployerBillingCurrency(selectedCurrency);\n }\n\n const regionField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'region',\n );\n\n if (regionField) {\n const regions =\n selectedCountry?.childRegions.map((region) => ({\n value: region.slug,\n label: region.name,\n })) ?? [];\n regionField.options = regions;\n regionField.isVisible = regions.length > 0;\n regionField.required = regions.length > 0;\n regionField.onChange = onRegionChange;\n regionField.schema =\n regions.length > 0\n ? string()\n .transform((value) => (typeof value === 'string' ? value : ''))\n .required('Region is required')\n : string();\n }\n\n if (currencies) {\n const currencyField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'currency',\n );\n if (currencyField) {\n currencyField.options = currencies;\n currencyField.onChange = onChangeCurrency;\n }\n }\n\n if (countries) {\n const countryField = fieldsJSONSchema.fields.find(\n (field) => field.name === 'country',\n );\n if (countryField) {\n countryField.options = countries;\n countryField.onChange = onCountryChange;\n }\n }\n\n const resetForm = () => {\n setSelectedCountry(undefined);\n setSelectedRegion(defaultRegion);\n };\n\n const allFields = [\n ...fieldsJSONSchema.fields,\n ...(jsonSchemaRegionFields?.fields || []),\n ];\n\n const validationSchema = buildValidationSchema(fieldsJSONSchema.fields);\n\n async function handleValidation(values: CostCalculatorEstimationFormValues) {\n let errors: JSFValidationError | null = null;\n\n const parsedValues = parseJSFToValidate(values, allFields);\n\n // 1. validate static fields first using Yup validate function\n try {\n await validationSchema.validate(parsedValues, {\n abortEarly: false,\n });\n errors = {\n formErrors: {},\n yupError: new ValidationError([], values),\n };\n } catch (error) {\n const iterateResult = iterateErrors(error as ValidationError);\n\n errors = {\n // convert the errors to a format that can be used in the form\n formErrors: Object.entries(iterateResult).reduce(\n (acc, [key, value]) => ({ ...acc, [key]: value.message }),\n {},\n ),\n yupError: error as ValidationError,\n };\n }\n\n // 2. validate json schema fields using the handleValidation (from json-schema-form)\n const handleValidationResult =\n jsonSchemaRegionFields?.handleValidation(parsedValues);\n\n // 3. combine the errors from both validations\n const combinedInnerErrors = [\n ...(errors?.yupError.inner || []),\n ...(handleValidationResult?.yupError?.inner || []),\n ];\n const combinedValues = {\n ...(errors?.yupError?.value || {}),\n ...(handleValidationResult?.yupError?.value || {}),\n };\n\n return {\n formErrors: {\n ...(errors?.formErrors || {}),\n ...(handleValidationResult?.formErrors || {}),\n },\n yupError: new ValidationError(combinedInnerErrors, combinedValues),\n };\n }\n\n return {\n stepState: {\n current: 0,\n total: 1,\n isLastStep: true,\n },\n fields: allFields,\n validationSchema,\n parseFormValues: (\n values: CostCalculatorEstimationFormValues,\n ): CostCalculatorEstimationSubmitValues => {\n const { country, region, salary, currency, ...rest } = values;\n const jsonSchemaStaticFieldValues = {\n country,\n region,\n salary,\n currency,\n };\n const parsedStaticFields = parseJSFToValidate(\n jsonSchemaStaticFieldValues,\n fieldsJSONSchema.fields,\n );\n\n const parsedRegionFields = parseJSFToValidate(\n rest,\n jsonSchemaRegionFields?.fields || [],\n );\n\n return {\n ...parsedStaticFields,\n ...parsedRegionFields,\n } as CostCalculatorEstimationSubmitValues;\n },\n handleValidation,\n isSubmitting: costCalculatorEstimationMutation.isPending,\n isLoading:\n isLoadingCountries && isLoadingCurrencies && isLoadingRegionFields,\n onSubmit,\n resetForm,\n };\n};\n"],"mappings":"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","names":["object","createHeadlessForm","modify","useMemo","useState","string","ValidationError","jsx","defaultEstimationOptions","useStaticSchema","__name","options","jsonSchemaModified","modify","jsonSchema","createHeadlessForm","useCostCalculator","defaultRegion","estimationOptions","version","selectedRegion","setSelectedRegion","useState","selectedCountry","setSelectedCountry","employerBillingCurrency","setEmployerBillingCurrency","countries","isLoadingCountries","useCostCalculatorCountries","currencies","isLoadingCurrencies","useCompanyCurrencies","jsonSchemaRegionSlug","jsonSchemaRegionFields","isLoadingRegionFields","useRegionFields","costCalculatorEstimationMutation","useCostCalculatorEstimation","employeeBillingCurrency","salaryField","salaryFieldPresentation","customFields","useMemo","props","SalaryField","fieldsJSONSchema","onSubmit","values","validationSchema","err","resolve","reject","buildPayload","response","error","onCountryChange","country","currentCountry","value","onRegionChange","region","onChangeCurrency","currency","selectedCurrency","c","regionField","field","regions","string","currencyField","countryField","resetForm","allFields","buildValidationSchema","handleValidation","errors","parsedValues","parseJSFToValidate","ValidationError","iterateResult","iterateErrors","acc","key","handleValidationResult","combinedInnerErrors","combinedValues","salary","rest","parsedStaticFields","parsedRegionFields","buildValidationSchema","fields","fieldsSchema","fieldsSchemaAcc","field","object","__name","formatBenefits","benefits","needle","acc","key","benefitTierSlug","benefitEntry","buildPayload","values","estimationOptions","defaultEstimationOptions","version"]}
|
package/dist/chunk-DPLXEXMO.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as le,e as ct}from"./chunk-HGLI6PUM.js";import{a}from"./chunk-P37U34EQ.js";import v from"react";var Ve=a(e=>e.type==="checkbox","isCheckBoxInput"),fe=a(e=>e instanceof Date,"isDateObject"),z=a(e=>e==null,"isNullOrUndefined"),Ft=a(e=>typeof e=="object","isObjectType"),I=a(e=>!z(e)&&!Array.isArray(e)&&Ft(e)&&!fe(e),"isObject"),vt=a(e=>I(e)&&e.target?Ve(e.target)?e.target.checked:e.target.value:e,"getEventValue"),zt=a(e=>e.substring(0,e.search(/\.\d+(\.|$)/))||e,"getNodeParentName"),bt=a((e,r)=>e.has(zt(r)),"isNameInFieldArray"),Jt=a(e=>{let r=e.constructor&&e.constructor.prototype;return I(r)&&r.hasOwnProperty("isPrototypeOf")},"isPlainObject"),Ge=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function M(e){let r,t=Array.isArray(e),s=typeof FileList<"u"?e instanceof FileList:!1;if(e instanceof Date)r=new Date(e);else if(e instanceof Set)r=new Set(e);else if(!(Ge&&(e instanceof Blob||s))&&(t||I(e)))if(r=t?[]:{},!t&&!Jt(e))r=e;else for(let o in e)e.hasOwnProperty(o)&&(r[o]=M(e[o]));else return e;return r}a(M,"cloneObject");var xe=a(e=>Array.isArray(e)?e.filter(Boolean):[],"compact"),R=a(e=>e===void 0,"isUndefined"),d=a((e,r,t)=>{if(!r||!I(e))return t;let s=xe(r.split(/[,[\].]+?/)).reduce((o,u)=>z(o)?o:o[u],e);return R(s)||s===e?R(e[r])?t:e[r]:s},"get"),Q=a(e=>typeof e=="boolean","isBoolean"),Qe=a(e=>/^\w*$/.test(e),"isKey"),pt=a(e=>xe(e.replace(/["|']|\]/g,"").split(/\.|\[/)),"stringToPath"),E=a((e,r,t)=>{let s=-1,o=Qe(r)?[r]:pt(r),u=o.length,y=u-1;for(;++s<u;){let g=o[s],p=t;if(s!==y){let S=e[g];p=I(S)||Array.isArray(S)?S:isNaN(+o[s+1])?{}:[]}if(g==="__proto__"||g==="constructor"||g==="prototype")return;e[g]=p,e=e[g]}return e},"set"),Se={BLUR:"blur",FOCUS_OUT:"focusout",CHANGE:"change"},Y={onBlur:"onBlur",onChange:"onChange",onSubmit:"onSubmit",onTouched:"onTouched",all:"all"},ae={max:"max",min:"min",maxLength:"maxLength",minLength:"minLength",pattern:"pattern",required:"required",validate:"validate"},Vt=v.createContext(null),ge=a(()=>v.useContext(Vt),"useFormContext"),xt=a(e=>{let{children:r,...t}=e;return v.createElement(Vt.Provider,{value:t},r)},"FormProvider"),At=a((e,r,t,s=!0)=>{let o={defaultValues:r._defaultValues};for(let u in e)Object.defineProperty(o,u,{get:a(()=>{let y=u;return r._proxyFormState[y]!==Y.all&&(r._proxyFormState[y]=!s||Y.all),t&&(t[y]=!0),e[y]},"get")});return o},"getProxyFormState"),K=a(e=>I(e)&&!Object.keys(e).length,"isEmptyObject"),St=a((e,r,t,s)=>{t(e);let{name:o,...u}=e;return K(u)||Object.keys(u).length>=Object.keys(r).length||Object.keys(u).find(y=>r[y]===(!s||Y.all))},"shouldRenderFormState"),J=a(e=>Array.isArray(e)?e:[e],"convertToArrayPayload"),wt=a((e,r,t)=>!e||!r||e===r||J(e).some(s=>s&&(t?s===r:s.startsWith(r)||r.startsWith(s))),"shouldSubscribeByName");function Ee(e){let r=v.useRef(e);r.current=e,v.useEffect(()=>{let t=!e.disabled&&r.current.subject&&r.current.subject.subscribe({next:r.current.next});return()=>{t&&t.unsubscribe()}},[e.disabled])}a(Ee,"useSubscribe");function Ye(e){let r=ge(),{control:t=r.control,disabled:s,name:o,exact:u}=e||{},[y,g]=v.useState(t._formState),p=v.useRef(!0),S=v.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1}),w=v.useRef(o);return w.current=o,Ee({disabled:s,next:a(b=>p.current&&wt(w.current,b.name,u)&&St(b,S.current,t._updateFormState)&&g({...t._formState,...b}),"next"),subject:t._subjects.state}),v.useEffect(()=>(p.current=!0,S.current.isValid&&t._updateValid(!0),()=>{p.current=!1}),[t]),v.useMemo(()=>At(y,t,S.current,!1),[y,t])}a(Ye,"useFormState");var se=a(e=>typeof e=="string","isString"),Ct=a((e,r,t,s,o)=>se(e)?(s&&r.watch.add(e),d(t,e,o)):Array.isArray(e)?e.map(u=>(s&&r.watch.add(u),d(t,u))):(s&&(r.watchAll=!0),t),"generateWatchOutput");function Gt(e){let r=ge(),{control:t=r.control,name:s,defaultValue:o,disabled:u,exact:y}=e||{},g=v.useRef(s);g.current=s,Ee({disabled:u,subject:t._subjects.values,next:a(w=>{wt(g.current,w.name,y)&&S(M(Ct(g.current,t._names,w.values||t._formValues,!1,o)))},"next")});let[p,S]=v.useState(t._getWatch(s,o));return v.useEffect(()=>t._removeUnmounted()),p}a(Gt,"useWatch");function Qt(e){let r=ge(),{name:t,disabled:s,control:o=r.control,shouldUnregister:u}=e,y=bt(o._names.array,t),g=Gt({control:o,name:t,defaultValue:d(o._formValues,t,d(o._defaultValues,t,e.defaultValue)),exact:!0}),p=Ye({control:o,name:t,exact:!0}),S=v.useRef(o.register(t,{...e.rules,value:g,...Q(e.disabled)?{disabled:e.disabled}:{}})),w=v.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:a(()=>!!d(p.errors,t),"get")},isDirty:{enumerable:!0,get:a(()=>!!d(p.dirtyFields,t),"get")},isTouched:{enumerable:!0,get:a(()=>!!d(p.touchedFields,t),"get")},isValidating:{enumerable:!0,get:a(()=>!!d(p.validatingFields,t),"get")},error:{enumerable:!0,get:a(()=>d(p.errors,t),"get")}}),[p,t]),b=v.useMemo(()=>({name:t,value:g,...Q(s)||p.disabled?{disabled:p.disabled||s}:{},onChange:a(L=>S.current.onChange({target:{value:vt(L),name:t},type:Se.CHANGE}),"onChange"),onBlur:a(()=>S.current.onBlur({target:{value:d(o._formValues,t),name:t},type:Se.BLUR}),"onBlur"),ref:a(L=>{let k=d(o._fields,t);k&&L&&(k._f.ref={focus:a(()=>L.focus(),"focus"),select:a(()=>L.select(),"select"),setCustomValidity:a(U=>L.setCustomValidity(U),"setCustomValidity"),reportValidity:a(()=>L.reportValidity(),"reportValidity")})},"ref")}),[t,o._formValues,s,p.disabled,g,o._fields]);return v.useEffect(()=>{let L=o._options.shouldUnregister||u,k=a((U,j)=>{let H=d(o._fields,U);H&&H._f&&(H._f.mount=j)},"updateMounted");if(k(t,!0),L){let U=M(d(o._options.defaultValues,t));E(o._defaultValues,t,U),R(d(o._formValues,t))&&E(o._formValues,t,U)}return!y&&o.register(t),()=>{(y?L&&!o._state.action:L)?o.unregister(t):k(t,!1)}},[t,o,y,u]),v.useEffect(()=>{o._updateDisabledField({disabled:s,fields:o._fields,name:t})},[s,t,o]),v.useMemo(()=>({field:b,formState:p,fieldState:w}),[b,p,w])}a(Qt,"useController");var Dt=a(e=>e.render(Qt(e)),"Controller");var Yt=a((e,r,t,s,o)=>r?{...t[e],types:{...t[e]&&t[e].types?t[e].types:{},[s]:o||!0}}:{},"appendErrors"),ue=a(()=>{let e=typeof performance>"u"?Date.now():performance.now()*1e3;return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,r=>{let t=(Math.random()*16+e)%16|0;return(r=="x"?t:t&3|8).toString(16)})},"generateId"),Le=a((e,r,t={})=>t.shouldFocus||R(t.shouldFocus)?t.focusName||`${e}.${R(t.focusIndex)?r:t.focusIndex}.`:"","getFocusFieldName"),pe=a(e=>({isOnSubmit:!e||e===Y.onSubmit,isOnBlur:e===Y.onBlur,isOnChange:e===Y.onChange,isOnAll:e===Y.all,isOnTouch:e===Y.onTouched}),"getValidationModes"),Ke=a((e,r,t)=>!t&&(r.watchAll||r.watch.has(e)||[...r.watch].some(s=>e.startsWith(s)&&/^\.\w+/.test(e.slice(s.length)))),"isWatched"),me=a((e,r,t,s)=>{for(let o of t||Object.keys(e)){let u=d(e,o);if(u){let{_f:y,...g}=u;if(y){if(y.refs&&y.refs[0]&&r(y.refs[0],o)&&!s)return!0;if(y.ref&&r(y.ref,y.name)&&!s)return!0;if(me(g,r))break}else if(I(g)&&me(g,r))break}}},"iterateFieldsByAction"),Et=a((e,r,t)=>{let s=J(d(e,t));return E(s,"root",r[t]),E(e,t,s),e},"updateFieldArrayRootError"),Xe=a(e=>e.type==="file","isFileInput"),re=a(e=>typeof e=="function","isFunction"),we=a(e=>{if(!Ge)return!1;let r=e?e.ownerDocument:0;return e instanceof(r&&r.defaultView?r.defaultView.HTMLElement:HTMLElement)},"isHTMLElement"),Ae=a(e=>se(e),"isMessage"),Ze=a(e=>e.type==="radio","isRadioInput"),Ce=a(e=>e instanceof RegExp,"isRegex"),dt={value:!1,isValid:!1},ft={value:!0,isValid:!0},kt=a(e=>{if(Array.isArray(e)){if(e.length>1){let r=e.filter(t=>t&&t.checked&&!t.disabled).map(t=>t.value);return{value:r,isValid:!!r.length}}return e[0].checked&&!e[0].disabled?e[0].attributes&&!R(e[0].attributes.value)?R(e[0].value)||e[0].value===""?ft:{value:e[0].value,isValid:!0}:ft:dt}return dt},"getCheckboxValue"),yt={isValid:!1,value:null},Rt=a(e=>Array.isArray(e)?e.reduce((r,t)=>t&&t.checked&&!t.disabled?{isValid:!0,value:t.value}:r,yt):yt,"getRadioValue");function mt(e,r,t="validate"){if(Ae(e)||Array.isArray(e)&&e.every(Ae)||Q(e)&&!e)return{type:t,message:Ae(e)?e:"",ref:r}}a(mt,"getValidateError");var ye=a(e=>I(e)&&!Ce(e)?e:{value:e,message:""},"getValueAndMessage"),ze=a(async(e,r,t,s,o,u)=>{let{ref:y,refs:g,required:p,maxLength:S,minLength:w,min:b,max:L,pattern:k,validate:U,name:j,valueAsNumber:H,mount:te}=e._f,C=d(t,j);if(!te||r.has(j))return{};let X=g?g[0]:y,Z=a(A=>{o&&X.reportValidity&&(X.setCustomValidity(Q(A)?"":A||""),X.reportValidity())},"setCustomValidity"),P={},h=Ze(y),F=Ve(y),V=h||F,T=(H||Xe(y))&&R(y.value)&&R(C)||we(y)&&y.value===""||C===""||Array.isArray(C)&&!C.length,B=Yt.bind(null,j,s,P),de=a((A,D,N,q=ae.maxLength,ee=ae.minLength)=>{let G=A?D:N;P[j]={type:A?q:ee,message:G,ref:y,...B(A?q:ee,G)}},"getMinMaxMessage");if(u?!Array.isArray(C)||!C.length:p&&(!V&&(T||z(C))||Q(C)&&!C||F&&!kt(g).isValid||h&&!Rt(g).isValid)){let{value:A,message:D}=Ae(p)?{value:!!p,message:p}:ye(p);if(A&&(P[j]={type:ae.required,message:D,ref:X,...B(ae.required,D)},!s))return Z(D),P}if(!T&&(!z(b)||!z(L))){let A,D,N=ye(L),q=ye(b);if(!z(C)&&!isNaN(C)){let ee=y.valueAsNumber||C&&+C;z(N.value)||(A=ee>N.value),z(q.value)||(D=ee<q.value)}else{let ee=y.valueAsDate||new Date(C),G=a(Fe=>new Date(new Date().toDateString()+" "+Fe),"convertTimeToDate"),_e=y.type=="time",he=y.type=="week";se(N.value)&&C&&(A=_e?G(C)>G(N.value):he?C>N.value:ee>new Date(N.value)),se(q.value)&&C&&(D=_e?G(C)<G(q.value):he?C<q.value:ee<new Date(q.value))}if((A||D)&&(de(!!A,N.message,q.message,ae.max,ae.min),!s))return Z(P[j].message),P}if((S||w)&&!T&&(se(C)||u&&Array.isArray(C))){let A=ye(S),D=ye(w),N=!z(A.value)&&C.length>+A.value,q=!z(D.value)&&C.length<+D.value;if((N||q)&&(de(N,A.message,D.message),!s))return Z(P[j].message),P}if(k&&!T&&se(C)){let{value:A,message:D}=ye(k);if(Ce(A)&&!C.match(A)&&(P[j]={type:ae.pattern,message:D,ref:y,...B(ae.pattern,D)},!s))return Z(D),P}if(U){if(re(U)){let A=await U(C,t),D=mt(A,X);if(D&&(P[j]={...D,...B(ae.validate,D.message)},!s))return Z(D.message),P}else if(I(U)){let A={};for(let D in U){if(!K(A)&&!s)break;let N=mt(await U[D](C,t),X,D);N&&(A={...N,...B(D,N.message)},Z(N.message),s&&(P[j]=A))}if(!K(A)&&(P[j]={ref:X,...A},!s))return P}}return Z(!0),P},"validateField"),Oe=a((e,r)=>[...e,...J(r)],"appendAt"),Ne=a(e=>Array.isArray(e)?e.map(()=>{}):void 0,"fillEmptyArray");function Me(e,r,t){return[...e.slice(0,r),...J(t),...e.slice(r)]}a(Me,"insert");var Ue=a((e,r,t)=>Array.isArray(e)?(R(e[t])&&(e[t]=void 0),e.splice(t,0,e.splice(r,1)[0]),e):[],"moveArrayAt"),Be=a((e,r)=>[...J(r),...J(e)],"prependAt");function Xt(e,r){let t=0,s=[...e];for(let o of r)s.splice(o-t,1),t++;return xe(s).length?s:[]}a(Xt,"removeAtIndexes");var $e=a((e,r)=>R(r)?[]:Xt(e,J(r).sort((t,s)=>t-s)),"removeArrayAt"),We=a((e,r,t)=>{[e[r],e[t]]=[e[t],e[r]]},"swapArrayAt");function Zt(e,r){let t=r.slice(0,-1).length,s=0;for(;s<t;)e=R(e)?s++:e[r[s++]];return e}a(Zt,"baseGet");function er(e){for(let r in e)if(e.hasOwnProperty(r)&&!R(e[r]))return!1;return!0}a(er,"isEmptyArray");function O(e,r){let t=Array.isArray(r)?r:Qe(r)?[r]:pt(r),s=t.length===1?e:Zt(e,t),o=t.length-1,u=t[o];return s&&delete s[u],o!==0&&(I(s)&&K(s)||Array.isArray(s)&&er(s))&&O(e,t.slice(0,-1)),e}a(O,"unset");var gt=a((e,r,t)=>(e[r]=t,e),"updateAt");function _r(e){let r=ge(),{control:t=r.control,name:s,keyName:o="id",shouldUnregister:u,rules:y}=e,[g,p]=v.useState(t._getFieldArray(s)),S=v.useRef(t._getFieldArray(s).map(ue)),w=v.useRef(g),b=v.useRef(s),L=v.useRef(!1);b.current=s,w.current=g,t._names.array.add(s),y&&t.register(s,y),Ee({next:a(({values:h,name:F})=>{if(F===b.current||!F){let V=d(h,b.current);Array.isArray(V)&&(p(V),S.current=V.map(ue))}},"next"),subject:t._subjects.array});let k=v.useCallback(h=>{L.current=!0,t._updateFieldArray(s,h)},[t,s]),U=a((h,F)=>{let V=J(M(h)),T=Oe(t._getFieldArray(s),V);t._names.focus=Le(s,T.length-1,F),S.current=Oe(S.current,V.map(ue)),k(T),p(T),t._updateFieldArray(s,T,Oe,{argA:Ne(h)})},"append"),j=a((h,F)=>{let V=J(M(h)),T=Be(t._getFieldArray(s),V);t._names.focus=Le(s,0,F),S.current=Be(S.current,V.map(ue)),k(T),p(T),t._updateFieldArray(s,T,Be,{argA:Ne(h)})},"prepend"),H=a(h=>{let F=$e(t._getFieldArray(s),h);S.current=$e(S.current,h),k(F),p(F),!Array.isArray(d(t._fields,s))&&E(t._fields,s,void 0),t._updateFieldArray(s,F,$e,{argA:h})},"remove"),te=a((h,F,V)=>{let T=J(M(F)),B=Me(t._getFieldArray(s),h,T);t._names.focus=Le(s,h,V),S.current=Me(S.current,h,T.map(ue)),k(B),p(B),t._updateFieldArray(s,B,Me,{argA:h,argB:Ne(F)})},"insert$1"),C=a((h,F)=>{let V=t._getFieldArray(s);We(V,h,F),We(S.current,h,F),k(V),p(V),t._updateFieldArray(s,V,We,{argA:h,argB:F},!1)},"swap"),X=a((h,F)=>{let V=t._getFieldArray(s);Ue(V,h,F),Ue(S.current,h,F),k(V),p(V),t._updateFieldArray(s,V,Ue,{argA:h,argB:F},!1)},"move"),Z=a((h,F)=>{let V=M(F),T=gt(t._getFieldArray(s),h,V);S.current=[...T].map((B,de)=>!B||de===h?ue():S.current[de]),k(T),p([...T]),t._updateFieldArray(s,T,gt,{argA:h,argB:V},!0,!1)},"update"),P=a(h=>{let F=J(M(h));S.current=F.map(ue),k([...F]),p([...F]),t._updateFieldArray(s,[...F],V=>V,{},!0,!1)},"replace");return v.useEffect(()=>{if(t._state.action=!1,Ke(s,t._names)&&t._subjects.state.next({...t._formState}),L.current&&(!pe(t._options.mode).isOnSubmit||t._formState.isSubmitted))if(t._options.resolver)t._executeSchema([s]).then(h=>{let F=d(h.errors,s),V=d(t._formState.errors,s);(V?!F&&V.type||F&&(V.type!==F.type||V.message!==F.message):F&&F.type)&&(F?E(t._formState.errors,s,F):O(t._formState.errors,s),t._subjects.state.next({errors:t._formState.errors}))});else{let h=d(t._fields,s);h&&h._f&&!(pe(t._options.reValidateMode).isOnSubmit&&pe(t._options.mode).isOnSubmit)&&ze(h,t._names.disabled,t._formValues,t._options.criteriaMode===Y.all,t._options.shouldUseNativeValidation,!0).then(F=>!K(F)&&t._subjects.state.next({errors:Et(t._formState.errors,F,s)}))}t._subjects.values.next({name:s,values:{...t._formValues}}),t._names.focus&&me(t._fields,(h,F)=>{if(t._names.focus&&F.startsWith(t._names.focus)&&h.focus)return h.focus(),1}),t._names.focus="",t._updateValid(),L.current=!1},[g,s,t]),v.useEffect(()=>(!d(t._formValues,s)&&t._updateFieldArray(s),()=>{(t._options.shouldUnregister||u)&&t.unregister(s)}),[s,t,o,u]),{swap:v.useCallback(C,[k,s,t]),move:v.useCallback(X,[k,s,t]),prepend:v.useCallback(j,[k,s,t]),append:v.useCallback(U,[k,s,t]),remove:v.useCallback(H,[k,s,t]),insert:v.useCallback(te,[k,s,t]),update:v.useCallback(Z,[k,s,t]),replace:v.useCallback(P,[k,s,t]),fields:v.useMemo(()=>g.map((h,F)=>({...h,[o]:S.current[F]||ue()})),[g,o])}}a(_r,"useFieldArray");var je=a(()=>{let e=[];return{get observers(){return e},next:a(o=>{for(let u of e)u.next&&u.next(o)},"next"),subscribe:a(o=>(e.push(o),{unsubscribe:a(()=>{e=e.filter(u=>u!==o)},"unsubscribe")}),"subscribe"),unsubscribe:a(()=>{e=[]},"unsubscribe")}},"createSubject"),Je=a(e=>z(e)||!Ft(e),"isPrimitive");function ce(e,r){if(Je(e)||Je(r))return e===r;if(fe(e)&&fe(r))return e.getTime()===r.getTime();let t=Object.keys(e),s=Object.keys(r);if(t.length!==s.length)return!1;for(let o of t){let u=e[o];if(!s.includes(o))return!1;if(o!=="ref"){let y=r[o];if(fe(u)&&fe(y)||I(u)&&I(y)||Array.isArray(u)&&Array.isArray(y)?!ce(u,y):u!==y)return!1}}return!0}a(ce,"deepEqual");var Tt=a(e=>e.type==="select-multiple","isMultipleSelect"),tr=a(e=>Ze(e)||Ve(e),"isRadioOrCheckbox"),qe=a(e=>we(e)&&e.isConnected,"live"),Pt=a(e=>{for(let r in e)if(re(e[r]))return!0;return!1},"objectHasFunction");function De(e,r={}){let t=Array.isArray(e);if(I(e)||t)for(let s in e)Array.isArray(e[s])||I(e[s])&&!Pt(e[s])?(r[s]=Array.isArray(e[s])?[]:{},De(e[s],r[s])):z(e[s])||(r[s]=!0);return r}a(De,"markFieldsDirty");function It(e,r,t){let s=Array.isArray(e);if(I(e)||s)for(let o in e)Array.isArray(e[o])||I(e[o])&&!Pt(e[o])?R(r)||Je(t[o])?t[o]=Array.isArray(e[o])?De(e[o],[]):{...De(e[o])}:It(e[o],z(r)?{}:r[o],t[o]):t[o]=!ce(e[o],r[o]);return t}a(It,"getDirtyFieldsFromDefaultValues");var ve=a((e,r)=>It(e,r,De(r)),"getDirtyFields"),Lt=a((e,{valueAsNumber:r,valueAsDate:t,setValueAs:s})=>R(e)?e:r?e===""?NaN:e&&+e:t&&se(e)?new Date(e):s?s(e):e,"getFieldValueAs");function He(e){let r=e.ref;return Xe(r)?r.files:Ze(r)?Rt(e.refs).value:Tt(r)?[...r.selectedOptions].map(({value:t})=>t):Ve(r)?kt(e.refs).value:Lt(R(r.value)?e.ref.value:r.value,e)}a(He,"getFieldValue");var rr=a((e,r,t,s)=>{let o={};for(let u of e){let y=d(r,u);y&&E(o,u,y._f)}return{criteriaMode:t,names:[...e],fields:o,shouldUseNativeValidation:s}},"getResolverOptions"),be=a(e=>R(e)?e:Ce(e)?e.source:I(e)?Ce(e.value)?e.value.source:e.value:e,"getRuleValue"),_t="AsyncFunction",sr=a(e=>!!e&&!!e.validate&&!!(re(e.validate)&&e.validate.constructor.name===_t||I(e.validate)&&Object.values(e.validate).find(r=>r.constructor.name===_t)),"hasPromiseValidation"),ir=a(e=>e.mount&&(e.required||e.min||e.max||e.maxLength||e.minLength||e.pattern||e.validate),"hasValidation");function ht(e,r,t){let s=d(e,t);if(s||Qe(t))return{error:s,name:t};let o=t.split(".");for(;o.length;){let u=o.join("."),y=d(r,u),g=d(e,u);if(y&&!Array.isArray(y)&&t!==u)return{name:t};if(g&&g.type)return{name:u,error:g};o.pop()}return{name:t}}a(ht,"schemaErrorLookup");var ar=a((e,r,t,s,o)=>o.isOnAll?!1:!t&&o.isOnTouch?!(r||e):(t?s.isOnBlur:o.isOnBlur)?!e:(t?s.isOnChange:o.isOnChange)?e:!0,"skipValidation"),nr=a((e,r)=>!xe(d(e,r)).length&&O(e,r),"unsetEmptyArray"),or={mode:Y.onSubmit,reValidateMode:Y.onChange,shouldFocusError:!0};function lr(e={}){let r={...or,...e},t={submitCount:0,isDirty:!1,isLoading:re(r.defaultValues),isValidating:!1,isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,touchedFields:{},dirtyFields:{},validatingFields:{},errors:r.errors||{},disabled:r.disabled||!1},s={},o=I(r.defaultValues)||I(r.values)?M(r.defaultValues||r.values)||{}:{},u=r.shouldUnregister?{}:M(o),y={action:!1,mount:!1,watch:!1},g={mount:new Set,disabled:new Set,unMount:new Set,array:new Set,watch:new Set},p,S=0,w={isDirty:!1,dirtyFields:!1,validatingFields:!1,touchedFields:!1,isValidating:!1,isValid:!1,errors:!1},b={values:je(),array:je(),state:je()},L=pe(r.mode),k=pe(r.reValidateMode),U=r.criteriaMode===Y.all,j=a(i=>n=>{clearTimeout(S),S=setTimeout(i,n)},"debounce"),H=a(async i=>{if(!r.disabled&&(w.isValid||i)){let n=r.resolver?K((await V()).errors):await B(s,!0);n!==t.isValid&&b.state.next({isValid:n})}},"_updateValid"),te=a((i,n)=>{!r.disabled&&(w.isValidating||w.validatingFields)&&((i||Array.from(g.mount)).forEach(l=>{l&&(n?E(t.validatingFields,l,n):O(t.validatingFields,l))}),b.state.next({validatingFields:t.validatingFields,isValidating:!K(t.validatingFields)}))},"_updateIsValidating"),C=a((i,n=[],l,m,f=!0,c=!0)=>{if(m&&l&&!r.disabled){if(y.action=!0,c&&Array.isArray(d(s,i))){let _=l(d(s,i),m.argA,m.argB);f&&E(s,i,_)}if(c&&Array.isArray(d(t.errors,i))){let _=l(d(t.errors,i),m.argA,m.argB);f&&E(t.errors,i,_),nr(t.errors,i)}if(w.touchedFields&&c&&Array.isArray(d(t.touchedFields,i))){let _=l(d(t.touchedFields,i),m.argA,m.argB);f&&E(t.touchedFields,i,_)}w.dirtyFields&&(t.dirtyFields=ve(o,u)),b.state.next({name:i,isDirty:A(i,n),dirtyFields:t.dirtyFields,errors:t.errors,isValid:t.isValid})}else E(u,i,n)},"_updateFieldArray"),X=a((i,n)=>{E(t.errors,i,n),b.state.next({errors:t.errors})},"updateErrors"),Z=a(i=>{t.errors=i,b.state.next({errors:t.errors,isValid:!1})},"_setErrors"),P=a((i,n,l,m)=>{let f=d(s,i);if(f){let c=d(u,i,R(l)?d(o,i):l);R(c)||m&&m.defaultChecked||n?E(u,i,n?c:He(f._f)):q(i,c),y.mount&&H()}},"updateValidAndValue"),h=a((i,n,l,m,f)=>{let c=!1,_=!1,x={name:i};if(!r.disabled){let $=!!(d(s,i)&&d(s,i)._f&&d(s,i)._f.disabled);if(!l||m){w.isDirty&&(_=t.isDirty,t.isDirty=x.isDirty=A(),c=_!==x.isDirty);let W=$||ce(d(o,i),n);_=!!(!$&&d(t.dirtyFields,i)),W||$?O(t.dirtyFields,i):E(t.dirtyFields,i,!0),x.dirtyFields=t.dirtyFields,c=c||w.dirtyFields&&_!==!W}if(l){let W=d(t.touchedFields,i);W||(E(t.touchedFields,i,l),x.touchedFields=t.touchedFields,c=c||w.touchedFields&&W!==l)}c&&f&&b.state.next(x)}return c?x:{}},"updateTouchAndDirty"),F=a((i,n,l,m)=>{let f=d(t.errors,i),c=w.isValid&&Q(n)&&t.isValid!==n;if(r.delayError&&l?(p=j(()=>X(i,l)),p(r.delayError)):(clearTimeout(S),p=null,l?E(t.errors,i,l):O(t.errors,i)),(l?!ce(f,l):f)||!K(m)||c){let _={...m,...c&&Q(n)?{isValid:n}:{},errors:t.errors,name:i};t={...t,..._},b.state.next(_)}},"shouldRenderByError"),V=a(async i=>{te(i,!0);let n=await r.resolver(u,r.context,rr(i||g.mount,s,r.criteriaMode,r.shouldUseNativeValidation));return te(i),n},"_executeSchema"),T=a(async i=>{let{errors:n}=await V(i);if(i)for(let l of i){let m=d(n,l);m?E(t.errors,l,m):O(t.errors,l)}else t.errors=n;return n},"executeSchemaAndUpdateState"),B=a(async(i,n,l={valid:!0})=>{for(let m in i){let f=i[m];if(f){let{_f:c,..._}=f;if(c){let x=g.array.has(c.name),$=f._f&&sr(f._f);$&&w.validatingFields&&te([m],!0);let W=await ze(f,g.disabled,u,U,r.shouldUseNativeValidation&&!n,x);if($&&w.validatingFields&&te([m]),W[c.name]&&(l.valid=!1,n))break;!n&&(d(W,c.name)?x?Et(t.errors,W,c.name):E(t.errors,c.name,W[c.name]):O(t.errors,c.name))}!K(_)&&await B(_,n,l)}}return l.valid},"executeBuiltInValidation"),de=a(()=>{for(let i of g.unMount){let n=d(s,i);n&&(n._f.refs?n._f.refs.every(l=>!qe(l)):!qe(n._f.ref))&&Re(i)}g.unMount=new Set},"_removeUnmounted"),A=a((i,n)=>!r.disabled&&(i&&n&&E(u,i,n),!ce(et(),o)),"_getDirty"),D=a((i,n,l)=>Ct(i,g,{...y.mount?u:R(n)?o:se(i)?{[i]:n}:n},l,n),"_getWatch"),N=a(i=>xe(d(y.mount?u:o,i,r.shouldUnregister?d(o,i,[]):[])),"_getFieldArray"),q=a((i,n,l={})=>{let m=d(s,i),f=n;if(m){let c=m._f;c&&(!c.disabled&&E(u,i,Lt(n,c)),f=we(c.ref)&&z(n)?"":n,Tt(c.ref)?[...c.ref.options].forEach(_=>_.selected=f.includes(_.value)):c.refs?Ve(c.ref)?c.refs.length>1?c.refs.forEach(_=>(!_.defaultChecked||!_.disabled)&&(_.checked=Array.isArray(f)?!!f.find(x=>x===_.value):f===_.value)):c.refs[0]&&(c.refs[0].checked=!!f):c.refs.forEach(_=>_.checked=_.value===f):Xe(c.ref)?c.ref.value="":(c.ref.value=f,c.ref.type||b.values.next({name:i,values:{...u}})))}(l.shouldDirty||l.shouldTouch)&&h(i,f,l.shouldTouch,l.shouldDirty,!0),l.shouldValidate&&Fe(i)},"setFieldValue"),ee=a((i,n,l)=>{for(let m in n){let f=n[m],c=`${i}.${m}`,_=d(s,c);(g.array.has(i)||I(f)||_&&!_._f)&&!fe(f)?ee(c,f,l):q(c,f,l)}},"setValues"),G=a((i,n,l={})=>{let m=d(s,i),f=g.array.has(i),c=M(n);E(u,i,c),f?(b.array.next({name:i,values:{...u}}),(w.isDirty||w.dirtyFields)&&l.shouldDirty&&b.state.next({name:i,dirtyFields:ve(o,u),isDirty:A(i,c)})):m&&!m._f&&!z(c)?ee(i,c,l):q(i,c,l),Ke(i,g)&&b.state.next({...t}),b.values.next({name:y.mount?i:void 0,values:{...u}})},"setValue"),_e=a(async i=>{y.mount=!0;let n=i.target,l=n.name,m=!0,f=d(s,l),c=a(()=>n.type?He(f._f):vt(i),"getCurrentFieldValue"),_=a(x=>{m=Number.isNaN(x)||fe(x)&&isNaN(x.getTime())||ce(x,d(u,l,x))},"_updateIsFieldValueUpdated");if(f){let x,$,W=c(),oe=i.type===Se.BLUR||i.type===Se.FOCUS_OUT,qt=!ir(f._f)&&!r.resolver&&!d(t.errors,l)&&!f._f.deps||ar(oe,d(t.touchedFields,l),t.isSubmitted,k,L),Pe=Ke(l,g,oe);E(u,l,W),oe?(f._f.onBlur&&f._f.onBlur(i),p&&p(0)):f._f.onChange&&f._f.onChange(i);let Ie=h(l,W,oe,!1),Ht=!K(Ie)||Pe;if(!oe&&b.values.next({name:l,type:i.type,values:{...u}}),qt)return w.isValid&&(r.mode==="onBlur"&&oe?H():oe||H()),Ht&&b.state.next({name:l,...Pe?{}:Ie});if(!oe&&Pe&&b.state.next({...t}),r.resolver){let{errors:lt}=await V([l]);if(_(W),m){let Kt=ht(t.errors,s,l),ut=ht(lt,s,Kt.name||l);x=ut.error,l=ut.name,$=K(lt)}}else te([l],!0),x=(await ze(f,g.disabled,u,U,r.shouldUseNativeValidation))[l],te([l]),_(W),m&&(x?$=!1:w.isValid&&($=await B(s,!0)));m&&(f._f.deps&&Fe(f._f.deps),F(l,$,x,Ie))}},"onChange"),he=a((i,n)=>{if(d(t.errors,n)&&i.focus)return i.focus(),1},"_focusInput"),Fe=a(async(i,n={})=>{let l,m,f=J(i);if(r.resolver){let c=await T(R(i)?i:f);l=K(c),m=i?!f.some(_=>d(c,_)):l}else i?(m=(await Promise.all(f.map(async c=>{let _=d(s,c);return await B(_&&_._f?{[c]:_}:_)}))).every(Boolean),!(!m&&!t.isValid)&&H()):m=l=await B(s);return b.state.next({...!se(i)||w.isValid&&l!==t.isValid?{}:{name:i},...r.resolver||!i?{isValid:l}:{},errors:t.errors}),n.shouldFocus&&!m&&me(s,he,i?f:g.mount),m},"trigger"),et=a(i=>{let n={...y.mount?u:o};return R(i)?n:se(i)?d(n,i):i.map(l=>d(n,l))},"getValues"),tt=a((i,n)=>({invalid:!!d((n||t).errors,i),isDirty:!!d((n||t).dirtyFields,i),error:d((n||t).errors,i),isValidating:!!d(t.validatingFields,i),isTouched:!!d((n||t).touchedFields,i)}),"getFieldState"),Bt=a(i=>{i&&J(i).forEach(n=>O(t.errors,n)),b.state.next({errors:i?t.errors:{}})},"clearErrors"),rt=a((i,n,l)=>{let m=(d(s,i,{_f:{}})._f||{}).ref,f=d(t.errors,i)||{},{ref:c,message:_,type:x,...$}=f;E(t.errors,i,{...$,...n,ref:m}),b.state.next({name:i,errors:t.errors,isValid:!1}),l&&l.shouldFocus&&m&&m.focus&&m.focus()},"setError"),$t=a((i,n)=>re(i)?b.values.subscribe({next:a(l=>i(D(void 0,n),l),"next")}):D(i,n,!0),"watch"),Re=a((i,n={})=>{for(let l of i?J(i):g.mount)g.mount.delete(l),g.array.delete(l),n.keepValue||(O(s,l),O(u,l)),!n.keepError&&O(t.errors,l),!n.keepDirty&&O(t.dirtyFields,l),!n.keepTouched&&O(t.touchedFields,l),!n.keepIsValidating&&O(t.validatingFields,l),!r.shouldUnregister&&!n.keepDefaultValue&&O(o,l);b.values.next({values:{...u}}),b.state.next({...t,...n.keepDirty?{isDirty:A()}:{}}),!n.keepIsValid&&H()},"unregister"),st=a(({disabled:i,name:n,field:l,fields:m})=>{(Q(i)&&y.mount||i||g.disabled.has(n))&&(i?g.disabled.add(n):g.disabled.delete(n),h(n,He(l?l._f:d(m,n)._f),!1,!1,!0))},"_updateDisabledField"),Te=a((i,n={})=>{let l=d(s,i),m=Q(n.disabled)||Q(r.disabled);return E(s,i,{...l||{},_f:{...l&&l._f?l._f:{ref:{name:i}},name:i,mount:!0,...n}}),g.mount.add(i),l?st({field:l,disabled:Q(n.disabled)?n.disabled:r.disabled,name:i}):P(i,!0,n.value),{...m?{disabled:n.disabled||r.disabled}:{},...r.progressive?{required:!!n.required,min:be(n.min),max:be(n.max),minLength:be(n.minLength),maxLength:be(n.maxLength),pattern:be(n.pattern)}:{},name:i,onChange:_e,onBlur:_e,ref:a(f=>{if(f){Te(i,n),l=d(s,i);let c=R(f.value)&&f.querySelectorAll&&f.querySelectorAll("input,select,textarea")[0]||f,_=tr(c),x=l._f.refs||[];if(_?x.find($=>$===c):c===l._f.ref)return;E(s,i,{_f:{...l._f,..._?{refs:[...x.filter(qe),c,...Array.isArray(d(o,i))?[{}]:[]],ref:{type:c.type,name:i}}:{ref:c}}}),P(i,!1,void 0,c)}else l=d(s,i,{}),l._f&&(l._f.mount=!1),(r.shouldUnregister||n.shouldUnregister)&&!(bt(g.array,i)&&y.action)&&g.unMount.add(i)},"ref")}},"register"),it=a(()=>r.shouldFocusError&&me(s,he,g.mount),"_focusError"),Wt=a(i=>{Q(i)&&(b.state.next({disabled:i}),me(s,(n,l)=>{let m=d(s,l);m&&(n.disabled=m._f.disabled||i,Array.isArray(m._f.refs)&&m._f.refs.forEach(f=>{f.disabled=m._f.disabled||i}))},0,!1))},"_disableForm"),at=a((i,n)=>async l=>{let m;l&&(l.preventDefault&&l.preventDefault(),l.persist&&l.persist());let f=M(u);if(g.disabled.size)for(let c of g.disabled)E(f,c,void 0);if(b.state.next({isSubmitting:!0}),r.resolver){let{errors:c,values:_}=await V();t.errors=c,f=_}else await B(s);if(O(t.errors,"root"),K(t.errors)){b.state.next({errors:{}});try{await i(f,l)}catch(c){m=c}}else n&&await n({...t.errors},l),it(),setTimeout(it);if(b.state.next({isSubmitted:!0,isSubmitting:!1,isSubmitSuccessful:K(t.errors)&&!m,submitCount:t.submitCount+1,errors:t.errors}),m)throw m},"handleSubmit"),jt=a((i,n={})=>{d(s,i)&&(R(n.defaultValue)?G(i,M(d(o,i))):(G(i,n.defaultValue),E(o,i,M(n.defaultValue))),n.keepTouched||O(t.touchedFields,i),n.keepDirty||(O(t.dirtyFields,i),t.isDirty=n.defaultValue?A(i,M(d(o,i))):A()),n.keepError||(O(t.errors,i),w.isValid&&H()),b.state.next({...t}))},"resetField"),nt=a((i,n={})=>{let l=i?M(i):o,m=M(l),f=K(i),c=f?o:m;if(n.keepDefaultValues||(o=l),!n.keepValues){if(n.keepDirtyValues){let _=new Set([...g.mount,...Object.keys(ve(o,u))]);for(let x of Array.from(_))d(t.dirtyFields,x)?E(c,x,d(u,x)):G(x,d(c,x))}else{if(Ge&&R(i))for(let _ of g.mount){let x=d(s,_);if(x&&x._f){let $=Array.isArray(x._f.refs)?x._f.refs[0]:x._f.ref;if(we($)){let W=$.closest("form");if(W){W.reset();break}}}}s={}}u=r.shouldUnregister?n.keepDefaultValues?M(o):{}:M(c),b.array.next({values:{...c}}),b.values.next({values:{...c}})}g={mount:n.keepDirtyValues?g.mount:new Set,unMount:new Set,array:new Set,disabled:new Set,watch:new Set,watchAll:!1,focus:""},y.mount=!w.isValid||!!n.keepIsValid||!!n.keepDirtyValues,y.watch=!!r.shouldUnregister,b.state.next({submitCount:n.keepSubmitCount?t.submitCount:0,isDirty:f?!1:n.keepDirty?t.isDirty:!!(n.keepDefaultValues&&!ce(i,o)),isSubmitted:n.keepIsSubmitted?t.isSubmitted:!1,dirtyFields:f?{}:n.keepDirtyValues?n.keepDefaultValues&&u?ve(o,u):t.dirtyFields:n.keepDefaultValues&&i?ve(o,i):n.keepDirty?t.dirtyFields:{},touchedFields:n.keepTouched?t.touchedFields:{},errors:n.keepErrors?t.errors:{},isSubmitSuccessful:n.keepIsSubmitSuccessful?t.isSubmitSuccessful:!1,isSubmitting:!1})},"_reset"),ot=a((i,n)=>nt(re(i)?i(u):i,n),"reset");return{control:{register:Te,unregister:Re,getFieldState:tt,handleSubmit:at,setError:rt,_executeSchema:V,_getWatch:D,_getDirty:A,_updateValid:H,_removeUnmounted:de,_updateFieldArray:C,_updateDisabledField:st,_getFieldArray:N,_reset:nt,_resetDefaultValues:a(()=>re(r.defaultValues)&&r.defaultValues().then(i=>{ot(i,r.resetOptions),b.state.next({isLoading:!1})}),"_resetDefaultValues"),_updateFormState:a(i=>{t={...t,...i}},"_updateFormState"),_disableForm:Wt,_subjects:b,_proxyFormState:w,_setErrors:Z,get _fields(){return s},get _formValues(){return u},get _state(){return y},set _state(i){y=i},get _defaultValues(){return o},get _names(){return g},set _names(i){g=i},get _formState(){return t},set _formState(i){t=i},get _options(){return r},set _options(i){r={...r,...i}}},trigger:Fe,register:Te,handleSubmit:at,watch:$t,setValue:G,getValues:et,reset:ot,resetField:jt,clearErrors:Bt,unregister:Re,setError:rt,setFocus:a((i,n={})=>{let l=d(s,i),m=l&&l._f;if(m){let f=m.refs?m.refs[0]:m.ref;f.focus&&(f.focus(),n.shouldSelect&&re(f.select)&&f.select())}},"setFocus"),getFieldState:tt}}a(lr,"createFormControl");function hr(e={}){let r=v.useRef(void 0),t=v.useRef(void 0),[s,o]=v.useState({isDirty:!1,isValidating:!1,isLoading:re(e.defaultValues),isSubmitted:!1,isSubmitting:!1,isSubmitSuccessful:!1,isValid:!1,submitCount:0,dirtyFields:{},touchedFields:{},validatingFields:{},errors:e.errors||{},disabled:e.disabled||!1,defaultValues:re(e.defaultValues)?void 0:e.defaultValues});r.current||(r.current={...lr(e),formState:s});let u=r.current.control;return u._options=e,Ee({subject:u._subjects.state,next:a(y=>{St(y,u._proxyFormState,u._updateFormState,!0)&&o({...u._formState})},"next")}),v.useEffect(()=>u._disableForm(e.disabled),[u,e.disabled]),v.useEffect(()=>{if(u._proxyFormState.isDirty){let y=u._getDirty();y!==s.isDirty&&u._subjects.state.next({isDirty:y})}},[u,s.isDirty]),v.useEffect(()=>{e.values&&!ce(e.values,t.current)?(u._reset(e.values,u._options.resetOptions),t.current=e.values,o(y=>({...y}))):u._resetDefaultValues()},[e.values,u]),v.useEffect(()=>{e.errors&&u._setErrors(e.errors)},[e.errors,u]),v.useEffect(()=>{u._state.mount||(u._updateValid(),u._state.mount=!0),u._state.watch&&(u._state.watch=!1,u._subjects.state.next({...u._formState})),u._removeUnmounted()}),v.useEffect(()=>{e.shouldUnregister&&u._subjects.values.next({values:u._getWatch()})},[e.shouldUnregister,u]),r.current.formState=At(s,u),r.current}a(hr,"useForm");import{Slot as cr}from"@radix-ui/react-slot";import*as ie from"react";import*as Ot from"@radix-ui/react-label";import{jsx as ur}from"react/jsx-runtime";function Nt({className:e,...r}){return ur(Ot.Root,{"data-slot":"label",className:le("flex items-center gap-2 text-sm leading-none select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50",e),...r})}a(Nt,"Label");import{jsx as ne}from"react/jsx-runtime";var Rr=xt,Mt=ie.createContext({}),Tr=a(({...e})=>ne(Mt.Provider,{value:{name:e.name},children:ne(Dt,{...e})}),"FormField"),ke=a(()=>{let e=ie.useContext(Mt),r=ie.useContext(Ut),{getFieldState:t}=ge(),s=Ye({name:e.name}),o=t(e.name,s);if(!e)throw new Error("useFormField should be used within <FormField>");let{id:u}=r;return{id:u,name:e.name,formItemId:`${u}-form-item`,formDescriptionId:`${u}-form-item-description`,formMessageId:`${u}-form-item-message`,...o}},"useFormField"),Ut=ie.createContext({});function Pr({className:e,...r}){let t=ie.useId();return ne(Ut.Provider,{value:{id:t},children:ne("div",{"data-slot":"form-item",...r,className:le("grid gap-2",e)})})}a(Pr,"FormItem");function Ir({className:e,...r}){let{error:t,formItemId:s}=ke();return ne(Nt,{"data-slot":"form-label","data-error":!!t,className:le("text-base-color mb-1 data-[error=true]:text-destructive",e),htmlFor:s,...r})}a(Ir,"FormLabel");var dr=ie.forwardRef(({...e},r)=>{let{error:t,formItemId:s,formDescriptionId:o,formMessageId:u}=ke();return ne(cr,{"data-slot":"form-control",ref:r,id:s,"aria-describedby":t?`${o} ${u}`:`${o}`,"aria-invalid":!!t,...e})});dr.displayName="FormControl";function Lr({className:e,children:r,...t}){let{formDescriptionId:s}=ke();return typeof r=="string"?ne("p",{"data-slot":"form-description",id:s,className:le("text-base-color text-xs",e),dangerouslySetInnerHTML:{__html:ct(r)},...t}):ne("p",{"data-slot":"form-description",id:s,className:le("text-base-color text-xs",e),...t,children:typeof r=="function"?r():r})}a(Lr,"FormDescription");function Or({className:e,...r}){let{error:t,formMessageId:s}=ke(),o=t?String(t?.message??""):r.children;return o?ne("p",{"data-slot":"form-message",id:s,className:le("text-destructive text-sm",e),...r,children:o}):null}a(Or,"FormMessage");export{d as a,E as b,ge as c,Yt as d,_r as e,hr as f,Rr as g,Tr as h,Pr as i,Ir as j,dr as k,Lr as l,Or as m};
|
|
2
|
-
//# sourceMappingURL=chunk-DPLXEXMO.js.map
|