@remoteoss/remote-flows 0.11.0 → 0.13.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 +3 -3
- package/dist/{chunk-GAOBYAJE.js → chunk-3BREUYLG.js} +2 -2
- package/dist/{chunk-GAOBYAJE.js.map → chunk-3BREUYLG.js.map} +1 -1
- package/dist/{chunk-LT4ALDRM.js → chunk-4OKR4SU7.js} +2 -2
- package/dist/chunk-4OKR4SU7.js.map +1 -0
- package/dist/{chunk-T3L72MV6.js → chunk-4RULC3AZ.js} +1 -1
- package/dist/chunk-4RULC3AZ.js.map +1 -0
- package/dist/chunk-4XFRZVAL.js +2 -0
- package/dist/{chunk-SZOOX2KY.js.map → chunk-4XFRZVAL.js.map} +1 -1
- package/dist/{chunk-7TIIT23F.js → chunk-56JXUCOX.js} +2 -2
- package/dist/chunk-56JXUCOX.js.map +1 -0
- package/dist/chunk-5EDFVFNU.js +2 -0
- package/dist/chunk-5EDFVFNU.js.map +1 -0
- package/dist/chunk-5JT5MWOK.js +2 -0
- package/dist/chunk-5JT5MWOK.js.map +1 -0
- package/dist/{chunk-7TOZZQQJ.js → chunk-5KHLOGTR.js} +1 -1
- package/dist/{chunk-7TOZZQQJ.js.map → chunk-5KHLOGTR.js.map} +1 -1
- package/dist/{chunk-EE54SK65.js → chunk-63HVO7J5.js} +2 -2
- package/dist/chunk-6YKL7EOK.js +2 -0
- package/dist/chunk-6YKL7EOK.js.map +1 -0
- package/dist/{chunk-RUVKAPO5.js → chunk-6YN2XQWR.js} +2 -2
- package/dist/{chunk-LIGRV2J5.js → chunk-7JQPHRUK.js} +2 -2
- package/dist/{chunk-GBD3OCAW.js → chunk-7P5B6XHM.js} +2 -2
- package/dist/{chunk-CSK44J23.js → chunk-7VUILYZ3.js} +1 -1
- package/dist/{chunk-CSK44J23.js.map → chunk-7VUILYZ3.js.map} +1 -1
- package/dist/chunk-A3OEOVEH.js +2 -0
- package/dist/chunk-A3OEOVEH.js.map +1 -0
- package/dist/{chunk-SQICIS7B.js → chunk-A4KEKMEQ.js} +2 -2
- package/dist/{chunk-SQICIS7B.js.map → chunk-A4KEKMEQ.js.map} +1 -1
- package/dist/{chunk-77AF2QOD.js → chunk-ANXYPRBG.js} +1 -1
- package/dist/chunk-ANXYPRBG.js.map +1 -0
- package/dist/{chunk-BY5S6EQJ.js → chunk-ARKAW4ZP.js} +2 -2
- package/dist/{chunk-EW24LQRE.js → chunk-BI6U55BD.js} +1 -1
- package/dist/chunk-BI6U55BD.js.map +1 -0
- package/dist/{chunk-GCVZ4AY2.js → chunk-CRXPRR3R.js} +1 -1
- package/dist/chunk-CRXPRR3R.js.map +1 -0
- package/dist/{chunk-ZSBWDLBS.js → chunk-DCRLPAJL.js} +2 -2
- package/dist/{chunk-VD65AUOI.js → chunk-DL5PZWF7.js} +2 -2
- package/dist/chunk-DL5PZWF7.js.map +1 -0
- package/dist/{chunk-FBYLX5NA.js → chunk-DXABU6DZ.js} +2 -2
- package/dist/{chunk-BDZEPXIS.js → chunk-E5YN6OT3.js} +1 -1
- package/dist/chunk-E5YN6OT3.js.map +1 -0
- package/dist/{chunk-TJK6MTGG.js → chunk-F3BSJIHU.js} +2 -2
- package/dist/{chunk-ZHL2SULA.js → chunk-FH3NC6AK.js} +2 -2
- package/dist/chunk-FH3NC6AK.js.map +1 -0
- package/dist/chunk-GKT5UHG4.js +2 -0
- package/dist/chunk-GKT5UHG4.js.map +1 -0
- package/dist/{chunk-G7WJUXZU.js → chunk-GP237GUO.js} +1 -1
- package/dist/{chunk-G7WJUXZU.js.map → chunk-GP237GUO.js.map} +1 -1
- package/dist/{chunk-N7PSO5ZD.js → chunk-HEKQK6TK.js} +2 -2
- package/dist/{chunk-N7PSO5ZD.js.map → chunk-HEKQK6TK.js.map} +1 -1
- package/dist/{chunk-QI6LLU2N.js → chunk-HH6GIAMX.js} +2 -2
- package/dist/chunk-HH6GIAMX.js.map +1 -0
- package/dist/chunk-HN5HLFTB.js +2 -0
- package/dist/chunk-HN5HLFTB.js.map +1 -0
- package/dist/chunk-HSW5HMHH.js +2 -0
- package/dist/{chunk-R7L6CI5J.js → chunk-ITSQE6EW.js} +2 -2
- package/dist/{chunk-3Z5ZZUO4.js → chunk-J4GIUQ4E.js} +2 -2
- package/dist/chunk-J4GIUQ4E.js.map +1 -0
- package/dist/{chunk-AJVD3O4D.js → chunk-JI5BE2MZ.js} +2 -2
- package/dist/{chunk-AJVD3O4D.js.map → chunk-JI5BE2MZ.js.map} +1 -1
- package/dist/{chunk-S7ZMHO5I.js → chunk-JJHGVDPO.js} +2 -2
- package/dist/{chunk-XI3AQ3RM.js → chunk-KHNAQRGE.js} +1 -1
- package/dist/chunk-KHNAQRGE.js.map +1 -0
- package/dist/chunk-LK4XMOCE.js +2 -0
- package/dist/chunk-LK4XMOCE.js.map +1 -0
- package/dist/chunk-LUG32IOD.js +2 -0
- package/dist/chunk-LUG32IOD.js.map +1 -0
- package/dist/{chunk-RMVG6YBI.js → chunk-MYB6Y5FC.js} +2 -2
- package/dist/{chunk-KHVEYIMF.js → chunk-N7QHEESE.js} +2 -2
- package/dist/{chunk-QVN32YBL.js → chunk-NH4EITYM.js} +2 -2
- package/dist/{chunk-H2SFR2GL.js → chunk-NQCSU6FR.js} +2 -2
- package/dist/{chunk-WYXN7WW6.js → chunk-NVMZDPMF.js} +2 -2
- package/dist/chunk-NVMZDPMF.js.map +1 -0
- package/dist/{chunk-TPSZDGQJ.js → chunk-NVQBJCNL.js} +2 -2
- package/dist/{chunk-TPSZDGQJ.js.map → chunk-NVQBJCNL.js.map} +1 -1
- package/dist/{chunk-KG72IMCX.js → chunk-OPCY3UYH.js} +2 -2
- package/dist/{chunk-GK3OO5SX.js → chunk-OZ63OC3N.js} +2 -2
- package/dist/chunk-OZ63OC3N.js.map +1 -0
- package/dist/{chunk-3CUVTXRN.js → chunk-QDYQEQ3C.js} +2 -2
- package/dist/chunk-RJRLHA3V.js +2 -0
- package/dist/chunk-RJRLHA3V.js.map +1 -0
- package/dist/{chunk-YRLBMLSA.js → chunk-RXVVLN7R.js} +2 -2
- package/dist/{chunk-CHSULXMN.js → chunk-TXSJL3HC.js} +1 -1
- package/dist/chunk-TXSJL3HC.js.map +1 -0
- package/dist/{chunk-Y4VNFI7K.js → chunk-U4YEXSAO.js} +2 -2
- package/dist/chunk-U4YEXSAO.js.map +1 -0
- package/dist/{chunk-5I6VWJSC.js → chunk-UHS3QRA3.js} +1 -1
- package/dist/chunk-UHS3QRA3.js.map +1 -0
- package/dist/{chunk-GJQ33XQ4.js → chunk-UPE5ZMB5.js} +2 -2
- package/dist/chunk-UPE5ZMB5.js.map +1 -0
- package/dist/{chunk-2A5R3YN2.js → chunk-VAIBLWOY.js} +1 -1
- package/dist/chunk-VAIBLWOY.js.map +1 -0
- package/dist/{chunk-R2SDR47E.js → chunk-XCZYKOZU.js} +2 -2
- package/dist/{chunk-4OEBYZLZ.js → chunk-XGEKV3FC.js} +2 -2
- package/dist/{chunk-MDSGLUUB.js → chunk-XJVYASHX.js} +1 -1
- package/dist/chunk-XJVYASHX.js.map +1 -0
- package/dist/chunk-XZRGLKXU.js +2 -0
- package/dist/{chunk-NC3VBBHC.js.map → chunk-XZRGLKXU.js.map} +1 -1
- package/dist/{chunk-5GUK7MEN.js → chunk-ZCYSBG7R.js} +2 -2
- package/dist/{chunk-ILMVHOL2.js → chunk-ZE3YT3Q6.js} +1 -1
- package/dist/chunk-ZE3YT3Q6.js.map +1 -0
- package/dist/chunk-ZTDKPUB5.js +2 -0
- package/dist/chunk-ZTDKPUB5.js.map +1 -0
- 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 +2 -2
- package/dist/flows/ContractAmendment/hooks.d.ts +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 -2
- package/dist/flows/CostCalculator/CostCalculatorFlow.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.d.ts +2 -1
- package/dist/flows/CostCalculator/CostCalculatorForm.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorResetButton.js +1 -1
- package/dist/flows/CostCalculator/CostCalculatorSubmitButton.js +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.d.ts +1 -1
- package/dist/flows/CostCalculator/EstimationResults/EstimationResults.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/CostCalculatorIndirectTax.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.d.ts +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResults.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorResultsChart.js.map +1 -1
- package/dist/flows/CostCalculator/Results/CostCalculatorTotalCost.js +1 -1
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.d.ts +10 -2
- package/dist/flows/CostCalculator/SummaryResults/SummaryResults.js +1 -1
- package/dist/flows/CostCalculator/api.d.ts +2 -1
- package/dist/flows/CostCalculator/components/SalaryField.d.ts +3 -1
- package/dist/flows/CostCalculator/components/SalaryField.js +1 -1
- package/dist/flows/CostCalculator/constants.d.ts +16 -0
- package/dist/flows/CostCalculator/constants.js +2 -0
- package/dist/flows/CostCalculator/constants.js.map +1 -0
- package/dist/flows/CostCalculator/context.d.ts +7 -2
- package/dist/flows/CostCalculator/hooks.d.ts +45 -2
- package/dist/flows/CostCalculator/hooks.js +1 -1
- package/dist/flows/CostCalculator/index.d.ts +2 -1
- package/dist/flows/CostCalculator/index.js +1 -1
- package/dist/flows/CostCalculator/jsonSchema.d.ts +26 -2
- package/dist/flows/CostCalculator/jsonSchema.js +1 -1
- package/dist/flows/CostCalculator/types.d.ts +21 -4
- package/dist/flows/CostCalculator/utils.d.ts +3 -2
- package/dist/flows/CostCalculator/utils.js +1 -1
- package/dist/flows/Onboarding/OnboardingFlow.d.ts +1 -1
- 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/EquityPriceDetails.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 +1 -1
- package/dist/flows/Onboarding/components/SaveDraftButton.js +1 -1
- 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 +2 -2
- package/dist/flows/Onboarding/hooks.d.ts +1 -1
- 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 +1 -1
- 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 +1 -1
- package/dist/flows/Termination/context.d.ts +2 -2
- 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/json-schemas/schema.js +1 -1
- package/dist/flows/Termination/types.d.ts +1 -1
- package/dist/index.d.ts +4 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internals.js +1 -1
- package/dist/{types.gen-CVPKMCVh.d.ts → types.gen-_c0f1E7h.d.ts} +8 -0
- package/package.json +1 -1
- package/dist/chunk-2A5R3YN2.js.map +0 -1
- package/dist/chunk-3Z5ZZUO4.js.map +0 -1
- package/dist/chunk-5I6VWJSC.js.map +0 -1
- package/dist/chunk-5KKDB7Q7.js +0 -2
- package/dist/chunk-5KKDB7Q7.js.map +0 -1
- package/dist/chunk-77AF2QOD.js.map +0 -1
- package/dist/chunk-7TIIT23F.js.map +0 -1
- package/dist/chunk-AIB34WOA.js +0 -2
- package/dist/chunk-AIB34WOA.js.map +0 -1
- package/dist/chunk-ANCX2TZH.js +0 -2
- package/dist/chunk-ANCX2TZH.js.map +0 -1
- package/dist/chunk-AVA4MEFP.js +0 -2
- package/dist/chunk-AVA4MEFP.js.map +0 -1
- package/dist/chunk-BDZEPXIS.js.map +0 -1
- package/dist/chunk-CHSULXMN.js.map +0 -1
- package/dist/chunk-D25W2VVQ.js +0 -2
- package/dist/chunk-D25W2VVQ.js.map +0 -1
- package/dist/chunk-DR7VGNO2.js +0 -2
- package/dist/chunk-DY5CSCPI.js +0 -2
- package/dist/chunk-DY5CSCPI.js.map +0 -1
- package/dist/chunk-EW24LQRE.js.map +0 -1
- package/dist/chunk-F6U6WDMP.js +0 -2
- package/dist/chunk-F6U6WDMP.js.map +0 -1
- package/dist/chunk-GCVZ4AY2.js.map +0 -1
- package/dist/chunk-GJQ33XQ4.js.map +0 -1
- package/dist/chunk-GK3OO5SX.js.map +0 -1
- package/dist/chunk-GMA7VTFX.js +0 -2
- package/dist/chunk-GMA7VTFX.js.map +0 -1
- package/dist/chunk-ILMVHOL2.js.map +0 -1
- package/dist/chunk-LT4ALDRM.js.map +0 -1
- package/dist/chunk-MDSGLUUB.js.map +0 -1
- package/dist/chunk-NC3VBBHC.js +0 -2
- package/dist/chunk-NVJYAX22.js +0 -2
- package/dist/chunk-NVJYAX22.js.map +0 -1
- package/dist/chunk-QI6LLU2N.js.map +0 -1
- package/dist/chunk-SZOOX2KY.js +0 -2
- package/dist/chunk-T3L72MV6.js.map +0 -1
- package/dist/chunk-VD65AUOI.js.map +0 -1
- package/dist/chunk-WYXN7WW6.js.map +0 -1
- package/dist/chunk-XI3AQ3RM.js.map +0 -1
- package/dist/chunk-Y4VNFI7K.js.map +0 -1
- package/dist/chunk-ZHL2SULA.js.map +0 -1
- /package/dist/{chunk-EE54SK65.js.map → chunk-63HVO7J5.js.map} +0 -0
- /package/dist/{chunk-RUVKAPO5.js.map → chunk-6YN2XQWR.js.map} +0 -0
- /package/dist/{chunk-LIGRV2J5.js.map → chunk-7JQPHRUK.js.map} +0 -0
- /package/dist/{chunk-GBD3OCAW.js.map → chunk-7P5B6XHM.js.map} +0 -0
- /package/dist/{chunk-BY5S6EQJ.js.map → chunk-ARKAW4ZP.js.map} +0 -0
- /package/dist/{chunk-ZSBWDLBS.js.map → chunk-DCRLPAJL.js.map} +0 -0
- /package/dist/{chunk-FBYLX5NA.js.map → chunk-DXABU6DZ.js.map} +0 -0
- /package/dist/{chunk-TJK6MTGG.js.map → chunk-F3BSJIHU.js.map} +0 -0
- /package/dist/{chunk-DR7VGNO2.js.map → chunk-HSW5HMHH.js.map} +0 -0
- /package/dist/{chunk-R7L6CI5J.js.map → chunk-ITSQE6EW.js.map} +0 -0
- /package/dist/{chunk-S7ZMHO5I.js.map → chunk-JJHGVDPO.js.map} +0 -0
- /package/dist/{chunk-RMVG6YBI.js.map → chunk-MYB6Y5FC.js.map} +0 -0
- /package/dist/{chunk-KHVEYIMF.js.map → chunk-N7QHEESE.js.map} +0 -0
- /package/dist/{chunk-QVN32YBL.js.map → chunk-NH4EITYM.js.map} +0 -0
- /package/dist/{chunk-H2SFR2GL.js.map → chunk-NQCSU6FR.js.map} +0 -0
- /package/dist/{chunk-KG72IMCX.js.map → chunk-OPCY3UYH.js.map} +0 -0
- /package/dist/{chunk-3CUVTXRN.js.map → chunk-QDYQEQ3C.js.map} +0 -0
- /package/dist/{chunk-YRLBMLSA.js.map → chunk-RXVVLN7R.js.map} +0 -0
- /package/dist/{chunk-R2SDR47E.js.map → chunk-XCZYKOZU.js.map} +0 -0
- /package/dist/{chunk-4OEBYZLZ.js.map → chunk-XGEKV3FC.js.map} +0 -0
- /package/dist/{chunk-5GUK7MEN.js.map → chunk-ZCYSBG7R.js.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/shared/actions-dropdown/ActionsDropdown.tsx","../src/flows/CostCalculator/EstimationResults/EstimationResults.tsx"],"sourcesContent":["import { Button } from '@/src/components/ui/button';\nimport { cn } from '@/src/lib/utils';\nimport { MoreHorizontal } from 'lucide-react';\nimport { useState, type ReactNode } from 'react';\n\nexport interface DropdownAction {\n label: string;\n icon?: ReactNode;\n onClick: () => void;\n separator?: boolean;\n disabled?: boolean;\n}\n\ninterface ActionsDropdownProps {\n actions?: DropdownAction[];\n className?: string;\n}\n\nexport function ActionsDropdown({\n actions = [],\n className,\n}: ActionsDropdownProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n return (\n <div className={cn('relative', className)}>\n <Button\n variant=\"ghost\"\n className=\"h-8 w-8 p-0\"\n onClick={() => setIsOpen(!isOpen)}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n </Button>\n\n {isOpen && (\n <>\n <div\n className=\"fixed inset-0 z-40\"\n onClick={() => setIsOpen(false)}\n />\n <div className=\"absolute right-0 top-1/2 mt-1 bg-white border border-gray-200 rounded-md shadow-lg z-50 min-w-[120px]\">\n {actions.map((action, index) => (\n <button\n key={index}\n className={cn(\n 'w-full text-left px-2 py-1.5 text-sm hover:bg-gray-100',\n action.disabled && 'opacity-50 cursor-not-allowed',\n )}\n onClick={() => {\n action.onClick();\n setIsOpen(false);\n }}\n disabled={action.disabled}\n >\n {action.label}\n </button>\n ))}\n </div>\n </>\n )}\n </div>\n );\n}\n","import {\n CostCalculatorEmployment,\n MinimalCountry,\n MinimalRegion,\n} from '@/src/client';\nimport { ActionsDropdown } from '@/src/components/shared/actions-dropdown/ActionsDropdown';\nimport { Card } from '@/src/components/ui/card';\nimport { ChevronDown, Info } from 'lucide-react';\nimport Flag from 'react-flagpack';\nimport { useState } from 'react';\nimport {\n Accordion,\n AccordionContent,\n AccordionItem,\n AccordionTrigger,\n} from '@/src/components/ui/accordion';\nimport { cn, formatCurrency } from '@/src/lib/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\n\nconst EstimationResultsHeader = ({\n title,\n country,\n region,\n onDelete,\n onExportPdf,\n}: {\n title: string;\n country: MinimalCountry;\n region?: MinimalRegion;\n onDelete: () => void;\n onExportPdf: () => void;\n}) => {\n return (\n <div className=\"RemoteFlows__EstimationResults__Header flex justify-between\">\n <div className=\"flex flex-row items-center gap-6\">\n <div className=\"flex h-12 w-12 items-center justify-center rounded-lg bg-[#F4F4F5]\">\n <Flag code={country.alpha_2_code} />\n </div>\n <div className=\"space-y-1\">\n <h2 className=\"text-lg font-medium leading-none text-[#181818]\">\n {title}\n </h2>\n <p className=\"text-xs text-[#71717A]\">\n {country.name} {region ? ` (${region.name})` : ''}\n </p>\n </div>\n </div>\n <ActionsDropdown\n className=\"RemoteFlows__EstimationResults__ActionsDropdown\"\n actions={[\n {\n label: 'Edit',\n onClick: () => {},\n disabled: true,\n },\n {\n label: 'Export',\n onClick: onExportPdf,\n },\n {\n label: 'Delete',\n onClick: onDelete,\n },\n ]}\n />\n </div>\n );\n};\n\ninterface OnboardingTimelineStep {\n title: string;\n description: string;\n id: string;\n}\n\ninterface OnboardingTimelineData {\n steps: OnboardingTimelineStep[];\n helpText: string;\n zendeskArticleId?: number;\n}\n\nconst getOnboardingTimelineData = (): OnboardingTimelineData => {\n return {\n steps: [\n {\n id: 'add-employment-details',\n title: 'Add employment details',\n description: 'You add employee employments details.',\n },\n {\n id: 'invite-employee',\n title: 'Invite employee',\n description:\n 'Hire receives an email invitation from Remote to start the self-enrollment process.',\n },\n {\n id: 'verify-information',\n title: 'Verify information',\n description:\n 'Remote prepares the Employment Agreement and verifies all the information.',\n },\n {\n id: 'sign-contract',\n title: 'Sign contract',\n description:\n 'All parties sign the Employment Agreement and are ready to start. 🎉',\n },\n ],\n helpText:\n 'For customers who accept our Terms of Service (ToS), the employee onboarding timeline starts once the employee has been invited to the platform and completed self enrolment.',\n zendeskArticleId: zendeskArticles.employeeOnboardingTimeline,\n };\n};\n\nfunction OnboardingTimeline({\n minimumOnboardingDays,\n data,\n className,\n}: {\n minimumOnboardingDays: number | null;\n data: OnboardingTimelineData;\n className?: string;\n}) {\n return (\n <Accordion\n type=\"single\"\n collapsible\n className={cn(\n 'RemoteFlows__EstimationResults__OnboardingTimeline w-full',\n className,\n )}\n >\n <AccordionItem value=\"timeline\" className=\"border-border\">\n <AccordionTrigger className=\"hover:no-underline px-0 py-4\">\n <div className=\"flex items-center justify-between w-full\">\n <span className=\"text-base font-medium text-[#0F172A]\">\n Onboarding timeline\n </span>\n <span className=\"text-base text-muted-foreground mr-4\">\n {minimumOnboardingDays} days\n </span>\n </div>\n </AccordionTrigger>\n <AccordionContent className=\"px-0 pb-4\">\n <ul className=\"list-disc list-inside space-y-2\">\n {data.steps.map((step) => (\n <li key={step.id}>\n <strong className=\"font-medium text-[#09090B]\">\n {step.title}\n </strong>{' '}\n - {step.description}\n </li>\n ))}\n </ul>\n <p className=\"text-xs text-muted-foreground mt-4\">\n {data.helpText}\n {data.zendeskArticleId && (\n <ZendeskTriggerButton zendeskId={data.zendeskArticleId}>\n Learn more\n </ZendeskTriggerButton>\n )}\n </p>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n}\n\nfunction HiringSection({\n className,\n countryBenefitsUrl,\n countryGuideUrl,\n country,\n}: {\n className?: string;\n countryBenefitsUrl: string;\n countryGuideUrl: string;\n country: MinimalCountry;\n}) {\n return (\n <Accordion\n type=\"single\"\n collapsible\n className={cn(\n 'RemoteFlows__EstimationResults__HiringSection w-full',\n className,\n )}\n >\n <AccordionItem value=\"timeline\" className=\"border-border\">\n <AccordionTrigger className=\"hover:no-underline px-0 py-4\">\n <div className=\"flex items-center justify-between w-full\">\n <span className=\"text-base font-medium text-[#0F172A]\">\n Hiring in {country.name}\n </span>\n </div>\n </AccordionTrigger>\n <AccordionContent>\n <div className=\"flex flex-col gap-1\">\n <a\n href={countryGuideUrl}\n target=\"_blank\"\n className=\"RemoteFlows__Link\"\n >\n Explore our complete guide ↗\n </a>\n <a\n href={countryBenefitsUrl}\n target=\"_blank\"\n className=\"RemoteFlows__Link\"\n >\n Explore our available benefits ↗\n </a>\n </div>\n </AccordionContent>\n </AccordionItem>\n </Accordion>\n );\n}\n\nfunction EstimationHeaders({\n isMultipleCurrency,\n className,\n}: {\n isMultipleCurrency: boolean;\n className?: string;\n}) {\n return (\n <div\n className={cn(\n 'RemoteFlows__EstimationResults__Headers grid grid-cols-3 items-center',\n className,\n )}\n >\n <span aria-hidden />\n {isMultipleCurrency ? (\n <>\n <span className=\"RemoteFlows__EstimationResults__Headers__Label\">\n Employee currency\n </span>\n <span className=\"RemoteFlows__EstimationResults__Headers__Label\">\n Employer currency\n </span>\n </>\n ) : (\n <>\n <span></span>\n <span className=\"RemoteFlows__EstimationResults__Headers__Label\">\n Amount\n </span>\n </>\n )}\n </div>\n );\n}\n\nfunction EstimationRow({\n label,\n amounts,\n className,\n isHeader = false,\n isCollapsible = false,\n children,\n}: {\n label: string | React.ReactNode;\n amounts: string | string[];\n className?: string;\n isHeader?: boolean;\n isCollapsible?: boolean;\n children?: React.ReactNode;\n}) {\n const [isOpen, setIsOpen] = useState(true);\n\n return (\n <div className={cn('RemoteFlows__EstimationResults__Row', className)}>\n <div className=\"grid grid-cols-3 items-center\">\n <div className=\"flex items-center gap-2\">\n <span\n className={cn(\n 'min-w-[140px]',\n isHeader ? 'font-medium text-[#09090B]' : '',\n )}\n >\n {label}\n </span>\n {isCollapsible && (\n <button\n onClick={() => setIsOpen(!isOpen)}\n className=\"p-1 hover:bg-gray-100 rounded\"\n >\n <ChevronDown\n className={`h-4 w-4 text-muted-foreground transition-transform ${\n isOpen ? 'rotate-180' : ''\n }`}\n />\n </button>\n )}\n </div>\n\n {Array.isArray(amounts) ? (\n amounts.map((amount, index) => (\n <span\n key={index}\n className={cn(\n 'text-right',\n isHeader ? 'font-medium text-[#09090B]' : '',\n )}\n >\n {amount}\n </span>\n ))\n ) : (\n <>\n <span></span>\n <span\n className={cn(\n 'text-right',\n isHeader ? 'font-medium text-[#09090B]' : '',\n )}\n >\n {amounts}\n </span>\n </>\n )}\n </div>\n\n {/* Collapsible content */}\n {isCollapsible && isOpen && children && (\n <div className=\"mt-4\">{children}</div>\n )}\n </div>\n );\n}\n\ninterface BreakdownItem {\n label: string;\n tooltip?: string;\n regionalAmount?: string;\n employerAmount?: string;\n description?: string;\n zendeskId?: string;\n isCollapsible?: boolean;\n children?: BreakdownItem[];\n}\n\nfunction BreakdownListItem({\n item,\n isMultipleCurrency,\n level = 0,\n}: {\n item: BreakdownItem;\n isMultipleCurrency: boolean;\n level?: number;\n}) {\n const [isOpen, setIsOpen] = useState(false);\n const hasChildren = item.children && item.children.length > 0;\n const isNested = level > 0;\n\n return (\n <li className={cn('pb-3', isNested && 'pb-1')}>\n <div\n className={cn(\n isMultipleCurrency\n ? 'grid grid-cols-3 items-center justify-between'\n : 'grid grid-cols-2 items-center justify-between',\n )}\n >\n <div className={cn('flex items-center gap-2', isNested && 'pl-3')}>\n {!isNested && (\n <span\n className=\"w-1 h-1 bg-[#09090B] rounded-full flex-shrink-0\"\n aria-hidden=\"true\"\n />\n )}\n\n <span\n className={cn(\n isNested ? 'text-xs text-[#71717A]' : 'text-sm text-[#09090B]', // Different colors\n )}\n >\n {item.label}\n </span>\n\n {item.tooltip && (\n <BasicTooltip\n content={\n <>\n <span>{item.tooltip}</span>{' '}\n {item.zendeskId && (\n <ZendeskTriggerButton zendeskId={Number(item.zendeskId)}>\n Learn more\n </ZendeskTriggerButton>\n )}\n </>\n }\n >\n <button className=\"p-1 hover:bg-gray-100 rounded\">\n <Info\n className={cn(\n 'text-muted-foreground',\n isNested ? 'h-3 w-3' : 'h-4 w-4',\n )}\n />\n </button>\n </BasicTooltip>\n )}\n\n {(item.isCollapsible || hasChildren) && (\n <button\n onClick={() => setIsOpen(!isOpen)}\n className=\"p-1 hover:bg-gray-100 rounded\"\n >\n <ChevronDown\n className={`h-3 w-3 text-muted-foreground transition-transform ${\n isOpen ? 'rotate-180' : ''\n }`}\n />\n </button>\n )}\n </div>\n\n {isMultipleCurrency ? (\n <>\n <span\n className={cn(\n 'text-sm text-right',\n isNested ? 'text-[#71717A]' : 'text-[#09090B]',\n )}\n >\n {item.regionalAmount || '—'}\n </span>\n <span\n className={cn(\n 'text-sm text-right',\n isNested ? 'text-[#71717A]' : 'text-[#09090B]',\n )}\n >\n {item.employerAmount || '—'}\n </span>\n </>\n ) : (\n <span\n className={cn(\n 'text-sm text-right',\n isNested ? 'text-[#71717A]' : 'text-[#09090B]',\n )}\n >\n {item.regionalAmount || '—'}\n </span>\n )}\n </div>\n\n {hasChildren && isOpen && (\n <div className=\"mt-1\">\n <BreakdownList\n items={item.children!}\n isMultipleCurrency={isMultipleCurrency}\n level={level + 1}\n />\n </div>\n )}\n </li>\n );\n}\n\ninterface BreakdownListProps {\n items: BreakdownItem[];\n isMultipleCurrency: boolean;\n className?: string;\n level?: number;\n}\n\nfunction BreakdownList({\n items,\n isMultipleCurrency,\n className,\n level,\n}: BreakdownListProps) {\n return (\n <ul className={cn('list-none', className)}>\n {items.map((item, index) => (\n <BreakdownListItem\n key={index}\n item={item}\n isMultipleCurrency={isMultipleCurrency}\n level={level}\n />\n ))}\n </ul>\n );\n}\n\ntype EstimationResultsComponents = {\n HiringSection?: React.ComponentType<{\n country: MinimalCountry;\n countryBenefitsUrl: string;\n countryGuideUrl: string;\n }>;\n OnboardingTimeline?: React.ComponentType<{\n minimumOnboardingDays: number | null;\n data: OnboardingTimelineData;\n }>;\n Header?: React.ComponentType<{\n title: string;\n region?: MinimalRegion;\n country: MinimalCountry;\n onDelete: () => void;\n onExportPdf: () => void;\n }>;\n Footer?: React.ComponentType;\n};\n\ntype EstimationResultsProps = {\n estimation: CostCalculatorEmployment;\n title: string;\n components?: EstimationResultsComponents;\n onDelete: () => void;\n onExportPdf: () => void;\n};\n\nexport const EstimationResults = ({\n estimation,\n title,\n components,\n onDelete,\n onExportPdf,\n}: EstimationResultsProps) => {\n const CustomHiringSection = components?.HiringSection || HiringSection;\n const CustomOnboardingTimeline =\n components?.OnboardingTimeline || OnboardingTimeline;\n const CustomHeader = components?.Header || EstimationResultsHeader;\n const CustomFooter = components?.Footer;\n\n const onboardingTimelineData = getOnboardingTimelineData();\n\n const isMultipleCurrency =\n estimation.employer_currency_costs.currency.code !==\n estimation.regional_currency_costs.currency.code;\n\n const hasRegion = estimation.region.code !== estimation.country.code;\n\n return (\n <Card className=\"RemoteFlows__EstimationResults__Card p-10\">\n <div className=\"RemoteFlows__Separator\">\n <CustomHeader\n title={title}\n region={hasRegion ? estimation.region : undefined}\n country={estimation.country}\n onDelete={onDelete}\n onExportPdf={onExportPdf}\n />\n </div>\n <div className=\"RemoteFlows__Separator\">\n <EstimationHeaders\n isMultipleCurrency={isMultipleCurrency}\n className=\"mb-3\"\n />\n <EstimationRow\n label=\"Monthly total cost\"\n amounts={\n isMultipleCurrency\n ? [\n formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n formatCurrency(\n estimation.employer_currency_costs.monthly_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.monthly_total,\n estimation.regional_currency_costs.currency.symbol,\n )\n }\n isHeader\n isCollapsible\n >\n <BreakdownList\n items={[\n {\n label: 'Gross monthly salary',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.monthly_gross_salary,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_gross_salary,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: zendeskArticles.extraPayments.toString(),\n tooltip:\n 'This country respects extra payments on top of the gross salary.',\n },\n {\n label: 'Mandatory employer costs',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .monthly_contributions_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .monthly_contributions_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.monthly_contributions_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Core benefits',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.monthly_benefits_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.monthly_benefits_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.monthly_benefits_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n ]}\n isMultipleCurrency={isMultipleCurrency}\n />\n </EstimationRow>\n </div>\n <div className=\"RemoteFlows__Separator\">\n <EstimationRow\n label=\"Annual total cost\"\n amounts={\n isMultipleCurrency\n ? [\n formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n formatCurrency(\n estimation.employer_currency_costs.annual_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n ]\n : formatCurrency(\n estimation.regional_currency_costs.annual_total,\n estimation.regional_currency_costs.currency.symbol,\n )\n }\n isHeader\n isCollapsible\n >\n <BreakdownList\n items={[\n {\n label: 'Annual gross salary',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_gross_salary,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_gross_salary,\n estimation.employer_currency_costs.currency.symbol,\n ),\n },\n {\n label: 'Mandatory employer costs',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_contributions_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_contributions_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.annual_contributions_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Core benefits',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs.annual_benefits_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs.annual_benefits_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.annual_benefits_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n {\n label: 'Extra statutory payments',\n regionalAmount: formatCurrency(\n estimation.regional_currency_costs\n .extra_statutory_payments_total,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n estimation.employer_currency_costs\n .extra_statutory_payments_total,\n estimation.employer_currency_costs.currency.symbol,\n ),\n children:\n estimation.employer_currency_costs.extra_statutory_payments_breakdown?.map(\n (item) => ({\n label: item.name,\n regionalAmount: formatCurrency(\n item.amount,\n estimation.regional_currency_costs.currency.symbol,\n ),\n employerAmount: formatCurrency(\n item.amount,\n estimation.employer_currency_costs.currency.symbol,\n ),\n zendeskId: item.zendesk_article_id || undefined,\n tooltip: item.description || undefined,\n }),\n ) || [],\n },\n ]}\n isMultipleCurrency={isMultipleCurrency}\n />\n </EstimationRow>\n </div>\n <div className=\"RemoteFlows__Separator\">\n <CustomOnboardingTimeline\n minimumOnboardingDays={estimation.minimum_onboarding_time}\n data={onboardingTimelineData}\n />\n </div>\n\n <CustomHiringSection\n countryBenefitsUrl={estimation.country_benefits_details_url as string}\n countryGuideUrl={estimation.country_guide_url as string}\n country={estimation.country}\n />\n\n {CustomFooter && <CustomFooter />}\n </Card>\n );\n};\n"],"mappings":"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","names":["MoreHorizontal","useState","Fragment","jsx","jsxs","ActionsDropdown","actions","className","isOpen","setIsOpen","useState","cn","Button","MoreHorizontal","action","index","__name","ChevronDown","Info","Flag","useState","Fragment","jsx","jsxs","EstimationResultsHeader","__name","title","country","region","onDelete","onExportPdf","Flag","ActionsDropdown","getOnboardingTimelineData","zendeskArticles","OnboardingTimeline","minimumOnboardingDays","data","className","Accordion","cn","AccordionItem","AccordionTrigger","AccordionContent","step","ZendeskTriggerButton","HiringSection","countryBenefitsUrl","countryGuideUrl","EstimationHeaders","isMultipleCurrency","EstimationRow","label","amounts","isHeader","isCollapsible","children","isOpen","setIsOpen","useState","ChevronDown","amount","index","BreakdownListItem","item","level","hasChildren","isNested","BasicTooltip","Info","BreakdownList","items","EstimationResults","estimation","components","CustomHiringSection","CustomOnboardingTimeline","CustomHeader","CustomFooter","onboardingTimelineData","hasRegion","Card","formatCurrency"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/basic-tooltip.tsx"],"sourcesContent":["export const BasicTooltip = ({\n children,\n content,\n}: {\n children: React.ReactNode;\n content: React.ReactNode;\n}) => {\n return (\n <div className=\"relative inline-block group\">\n {children}\n <div className=\"absolute bottom-full right-0 mb-2 px-3 py-2 bg-gray-900 text-white text-xs rounded-md opacity-0 invisible group-hover:opacity-100 group-hover:visible transition-all duration-200 z-50 w-64 whitespace-normal break-words\">\n {content}\n <div className=\"absolute top-full right-3 border-4 border-transparent border-t-gray-900\"></div>\n </div>\n </div>\n );\n};\n"],"mappings":"wCAUM,OAEE,OAAAA,EAFF,QAAAC,MAAA,oBAVC,IAAMC,EAAeC,EAAA,CAAC,CAC3B,SAAAC,EACA,QAAAC,CACF,IAKIJ,EAAC,OAAI,UAAU,8BACZ,UAAAG,EACDH,EAAC,OAAI,UAAU,4NACZ,UAAAI,EACDL,EAAC,OAAI,UAAU,0EAA0E,GAC3F,GACF,EAdwB","names":["jsx","jsxs","BasicTooltip","__name","children","content"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorGrossSalary.tsx"],"sourcesContent":["import { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { Button } from '@/src/components/ui/button';\nimport { Info } from 'lucide-react';\nimport { zendeskArticles } from '@/src/components/shared/zendesk-drawer/utils';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype CostCalculatorGrossSalaryProps = {\n grossSalary: number;\n currency: string;\n hasExtraStatutoryPayment?: boolean;\n};\n\nexport function CostCalculatorGrossSalary({\n grossSalary,\n currency,\n hasExtraStatutoryPayment = false,\n}: CostCalculatorGrossSalaryProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <div className=\"flex items-center gap-2\">\n <h3 className=\"font-medium text-primary-foreground\">Gross Salary</h3>\n {hasExtraStatutoryPayment && (\n <BasicTooltip\n content={\n <>\n <span>\n This country respects extra payments on top of the gross\n salary.\n </span>{' '}\n <ZendeskTriggerButton\n zendeskId={zendeskArticles.extraPayments}\n >\n Learn more\n </ZendeskTriggerButton>\n </>\n }\n >\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0 mt-2\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </BasicTooltip>\n )}\n </div>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(grossSalary, currency)}\n </span>\n </div>\n <Separator />\n </div>\n );\n}\n"],"mappings":"mRAIA,OAAS,QAAAA,MAAY,eAmBX,OAIM,YAAAC,EAJN,OAAAC,EAIM,QAAAC,MAJN,oBATH,SAASC,EAA0B,CACxC,YAAAC,EACA,SAAAC,EACA,yBAAAC,EAA2B,EAC7B,EAAmC,CACjC,OACEJ,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAA,EAAC,OAAI,UAAU,0BACb,UAAAD,EAAC,MAAG,UAAU,sCAAsC,wBAAY,EAC/DK,GACCL,EAACM,EAAA,CACC,QACEL,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAK,4EAGN,EAAQ,IACRA,EAACO,EAAA,CACC,UAAWC,EAAgB,cAC5B,sBAED,GACF,EAGF,SAAAP,EAACQ,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,mBAC5C,UAAAT,EAACU,EAAA,CAAK,UAAU,wBAAwB,EACxCV,EAAC,QAAK,UAAU,UAAU,gBAAI,GAChC,EACF,GAEJ,EACAA,EAAC,QAAK,UAAU,wBACb,SAAAW,EAAeR,EAAaC,CAAQ,EACvC,GACF,EACAJ,EAACY,EAAA,EAAU,GACb,CAEJ,CAxCgBC,EAAAX,EAAA","names":["Info","Fragment","jsx","jsxs","CostCalculatorGrossSalary","grossSalary","currency","hasExtraStatutoryPayment","BasicTooltip","ZendeskTriggerButton","zendeskArticles","Button","Info","formatCurrency","Separator","__name"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/separator.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator-root\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n"],"mappings":"gFACA,UAAYA,MAAwB,4BAWhC,cAAAC,MAAA,oBAPJ,SAASC,EAAU,CACjB,UAAAC,EACA,YAAAC,EAAc,aACd,WAAAC,EAAa,GACb,GAAGC,CACL,EAAyD,CACvD,OACEL,EAAoB,OAAnB,CACC,YAAU,iBACV,WAAYI,EACZ,YAAaD,EACb,UAAWG,EACT,iKACAJ,CACF,EACC,GAAGG,EACN,CAEJ,CAlBSE,EAAAN,EAAA","names":["SeparatorPrimitive","jsx","Separator","className","orientation","decorative","props","cn","__name"]}
|
package/dist/chunk-NC3VBBHC.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as F}from"./chunk-AVA4MEFP.js";import{b as l}from"./chunk-CFIJKJXD.js";import{f,g as p}from"./chunk-GAOBYAJE.js";import{c as u}from"./chunk-MXFDOIUA.js";import{b as _}from"./chunk-TVZAFTPT.js";import{a as r}from"./chunk-P37U34EQ.js";import{useEffect as R}from"react";import{jsx as a}from"react/jsx-runtime";var w=["effective_date","reason_for_change","reason_for_change_description","additional_comments","additional_comments_toggle"];function x({onSubmit:b,onError:m,onSuccess:A}){let{formId:C,contractAmendment:{checkFieldUpdates:h,fields:s,onSubmit:S,stepState:g,initialValues:i,handleValidation:y}}=_(),V=l(y),e=f({resolver:V,defaultValues:g.values?.form||i,shouldUnregister:!0,mode:"onBlur"});R(()=>{let t=e?.watch(o=>{(Object.keys(e.formState.dirtyFields).length>0||e.formState.isDirty)&&h(o)});return()=>t?.unsubscribe()},[]);let v=r(async t=>{let o=!1;for(let[c,P]of Object.entries(t))if(!w.includes(c)&&i[c]!==P){o=!0;break}if(!o)return m?.({message:"no_changes_detected_contract_details"});let d=u(t,s,{isPartialValidation:!1});await b?.(d);let n=await S(t);n.error?m?.(n.error):await A?.(n.data)},"handleSubmit");return a(p,{...e,children:a("form",{id:C,"data-testid":"contract-amendment-form",onSubmit:e.handleSubmit(v),className:"space-y-4 RemoteFlows__ContractAmendmentForm",children:a(F,{fields:s})})})}r(x,"ContractAmendmentForm");export{x as a};
|
|
2
|
-
//# sourceMappingURL=chunk-NC3VBBHC.js.map
|
package/dist/chunk-NVJYAX22.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{a as g}from"./chunk-CHSULXMN.js";import{b as _}from"./chunk-3ZWDIEEM.js";import{c,h as d,i as u,j as x,k as C,l as T,m as R}from"./chunk-GAOBYAJE.js";import{a}from"./chunk-P37U34EQ.js";import{jsx as o,jsxs as E}from"react/jsx-runtime";function J({name:t,description:m,label:r,type:f,onChange:s,component:w,includeErrorMessage:I=!0,additionalProps:P={},maxLength:l,...h}){let{components:N}=_(),{control:D}=c();return o(d,{control:D,name:t,render:({field:e,fieldState:F})=>{let i=w||N?.text;if(i){let n={name:t,description:m,label:r,type:f,onChange:s,metadata:P,maxLength:l,...h};return o(i,{field:{...e,onChange:a(p=>{e.onChange(p),s?.(p)},"onChange")},fieldState:F,fieldData:n})}return E(u,{"data-field":t,className:`RemoteFlows__TextField__Item__${t}`,children:[r&&o(x,{className:"RemoteFlows__TextField__Label",children:r}),o(C,{children:o(g,{...e,value:e.value??"",onChange:n=>{e.onChange(n),s?.(n)},className:"RemoteFlows__TextField__Input",placeholder:r,maxLength:l})}),m&&o(T,{className:"RemoteFlows__TextField__Description",children:m}),I&&F.error&&o(R,{className:"RemoteFlows__TextField__Error"})]})}})}a(J,"TextField");export{J as a};
|
|
2
|
-
//# sourceMappingURL=chunk-NVJYAX22.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/form/fields/TextField.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport * as React from 'react';\n\nimport { useFormFields } from '@/src/context';\nimport { Components, JSFField } from '@/src/types/remoteFlows';\nimport { useFormContext } from 'react-hook-form';\nimport {\n FormControl,\n FormDescription,\n FormField,\n FormItem,\n FormLabel,\n FormMessage,\n} from '../../ui/form';\nimport { Input } from '../../ui/input';\n\nexport type TextFieldProps = React.ComponentProps<'input'> & {\n name: string;\n} & Partial<\n JSFField & {\n onChange?: (value: any) => void;\n component?: Components['text'];\n includeErrorMessage?: boolean;\n additionalProps?: Record<string, unknown>;\n }\n >;\n\nexport function TextField({\n name,\n description,\n label,\n type,\n onChange,\n component,\n includeErrorMessage = true,\n additionalProps = {},\n maxLength,\n ...rest\n}: TextFieldProps) {\n const { components } = useFormFields();\n const { control } = useFormContext();\n\n return (\n <FormField\n control={control}\n name={name}\n render={({ field, fieldState }) => {\n const CustomTextField = component || components?.text;\n if (CustomTextField) {\n const customTextFieldProps = {\n name,\n description,\n label,\n type,\n onChange,\n metadata: additionalProps,\n maxLength,\n ...rest,\n };\n return (\n <CustomTextField\n field={{\n ...field,\n onChange: (value: any) => {\n field.onChange(value);\n onChange?.(value);\n },\n }}\n fieldState={fieldState}\n fieldData={customTextFieldProps}\n />\n );\n }\n\n return (\n <FormItem\n data-field={name}\n className={`RemoteFlows__TextField__Item__${name}`}\n >\n {label && (\n <FormLabel className=\"RemoteFlows__TextField__Label\">\n {label}\n </FormLabel>\n )}\n <FormControl>\n <Input\n {...field}\n value={field.value ?? ''}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => {\n field.onChange(event);\n onChange?.(event);\n }}\n className=\"RemoteFlows__TextField__Input\"\n placeholder={label}\n maxLength={maxLength}\n />\n </FormControl>\n {description && (\n <FormDescription className=\"RemoteFlows__TextField__Description\">\n {description}\n </FormDescription>\n )}\n {includeErrorMessage && fieldState.error && (\n <FormMessage className=\"RemoteFlows__TextField__Error\" />\n )}\n </FormItem>\n );\n }}\n />\n );\n}\n"],"mappings":"gMA4DY,cAAAA,EAeF,QAAAC,MAfE,oBAjCL,SAASC,EAAU,CACxB,KAAAC,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,oBAAAC,EAAsB,GACtB,gBAAAC,EAAkB,CAAC,EACnB,UAAAC,EACA,GAAGC,CACL,EAAmB,CACjB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAc,EAC/B,CAAE,QAAAC,CAAQ,EAAIC,EAAe,EAEnC,OACEhB,EAACiB,EAAA,CACC,QAASF,EACT,KAAMZ,EACN,OAAQ,CAAC,CAAE,MAAAe,EAAO,WAAAC,CAAW,IAAM,CACjC,IAAMC,EAAkBZ,GAAaK,GAAY,KACjD,GAAIO,EAAiB,CACnB,IAAMC,EAAuB,CAC3B,KAAAlB,EACA,YAAAC,EACA,MAAAC,EACA,KAAAC,EACA,SAAAC,EACA,SAAUG,EACV,UAAAC,EACA,GAAGC,CACL,EACA,OACEZ,EAACoB,EAAA,CACC,MAAO,CACL,GAAGF,EACH,SAAUI,EAACC,GAAe,CACxBL,EAAM,SAASK,CAAK,EACpBhB,IAAWgB,CAAK,CAClB,EAHU,WAIZ,EACA,WAAYJ,EACZ,UAAWE,EACb,CAEJ,CAEA,OACEpB,EAACuB,EAAA,CACC,aAAYrB,EACZ,UAAW,iCAAiCA,CAAI,GAE/C,UAAAE,GACCL,EAACyB,EAAA,CAAU,UAAU,gCAClB,SAAApB,EACH,EAEFL,EAAC0B,EAAA,CACC,SAAA1B,EAAC2B,EAAA,CACE,GAAGT,EACJ,MAAOA,EAAM,OAAS,GACtB,SAAWU,GAA+C,CACxDV,EAAM,SAASU,CAAK,EACpBrB,IAAWqB,CAAK,CAClB,EACA,UAAU,gCACV,YAAavB,EACb,UAAWM,EACb,EACF,EACCP,GACCJ,EAAC6B,EAAA,CAAgB,UAAU,sCACxB,SAAAzB,EACH,EAEDK,GAAuBU,EAAW,OACjCnB,EAAC8B,EAAA,CAAY,UAAU,gCAAgC,GAE3D,CAEJ,EACF,CAEJ,CAnFgBR,EAAApB,EAAA","names":["jsx","jsxs","TextField","name","description","label","type","onChange","component","includeErrorMessage","additionalProps","maxLength","rest","components","useFormFields","control","useFormContext","FormField","field","fieldState","CustomTextField","customTextFieldProps","__name","value","FormItem","FormLabel","FormControl","Input","event","FormDescription","FormMessage"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorBenefitsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype CostCalculatorBenefitsBreakdownProps = {\n benefitsTotal: number | undefined;\n benefitsBreakdown: {\n name: string;\n description: string | null;\n amount: number;\n zendesk_article_url: string | null;\n zendesk_article_id: string | null;\n }[];\n currency: string;\n};\n\nexport function CostCalculatorBenefitsBreakdown({\n benefitsTotal,\n benefitsBreakdown,\n currency,\n}: CostCalculatorBenefitsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground-800\">Benefits</h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(benefitsTotal, currency)}\n </span>\n </div>\n <Separator className=\"mb-3\" />\n\n <div className=\"space-y-3 pl-2\">\n {benefitsBreakdown.map((benefit, index) => (\n <div key={index} className=\"flex justify-between items-start text-sm\">\n <div className=\"flex items-start gap-2\">\n <span>{benefit.name}</span>\n {benefit.description && (\n <BasicTooltip\n content={\n <>\n <span>{benefit.description}</span>{' '}\n {benefit.zendesk_article_url && (\n <ZendeskTriggerButton\n zendeskId={Number(benefit.zendesk_article_id)}\n >\n Learn more\n </ZendeskTriggerButton>\n )}\n </>\n }\n >\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </BasicTooltip>\n )}\n </div>\n <span>{formatCurrency(benefit.amount, currency)}</span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"gPAAA,OAAS,QAAAA,MAAY,eA2Bf,OAgBc,YAAAC,EAfZ,OAAAC,EADF,QAAAC,MAAA,oBAPC,SAASC,EAAgC,CAC9C,cAAAC,EACA,kBAAAC,EACA,SAAAC,CACF,EAAyC,CACvC,OACEJ,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAAC,MAAG,UAAU,0CAA0C,oBAAQ,EAChEA,EAAC,QAAK,UAAU,wBACb,SAAAM,EAAeH,EAAeE,CAAQ,EACzC,GACF,EACAL,EAACO,EAAA,CAAU,UAAU,OAAO,EAE5BP,EAAC,OAAI,UAAU,iBACZ,SAAAI,EAAkB,IAAI,CAACI,EAASC,IAC/BR,EAAC,OAAgB,UAAU,2CACzB,UAAAA,EAAC,OAAI,UAAU,yBACb,UAAAD,EAAC,QAAM,SAAAQ,EAAQ,KAAK,EACnBA,EAAQ,aACPR,EAACU,EAAA,CACC,QACET,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAM,SAAAQ,EAAQ,YAAY,EAAQ,IAClCA,EAAQ,qBACPR,EAACW,EAAA,CACC,UAAW,OAAOH,EAAQ,kBAAkB,EAC7C,sBAED,GAEJ,EAGF,SAAAP,EAACW,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,cAC5C,UAAAZ,EAACa,EAAA,CAAK,UAAU,wBAAwB,EACxCb,EAAC,QAAK,UAAU,UAAU,gBAAI,GAChC,EACF,GAEJ,EACAA,EAAC,QAAM,SAAAM,EAAeE,EAAQ,OAAQH,CAAQ,EAAE,IAzBxCI,CA0BV,CACD,EACH,GACF,CAEJ,CAhDgBK,EAAAZ,EAAA","names":["Info","Fragment","jsx","jsxs","CostCalculatorBenefitsBreakdown","benefitsTotal","benefitsBreakdown","currency","formatCurrency","Separator","benefit","index","BasicTooltip","ZendeskTriggerButton","Button","Info","__name"]}
|
package/dist/chunk-SZOOX2KY.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{b}from"./chunk-PGWKJ6FK.js";import{a as u}from"./chunk-AVA4MEFP.js";import{b as f}from"./chunk-CFIJKJXD.js";import{b as y}from"./chunk-QW4JPW6J.js";import{f as p,g as F}from"./chunk-GAOBYAJE.js";import{a as m}from"./chunk-P37U34EQ.js";import{useEffect as S}from"react";import{jsx as d}from"react/jsx-runtime";function N({defaultValues:l,onSubmit:g,components:E}){let{formId:w,onboardingBag:o}=b(),h=f(o.handleValidation),r=p({resolver:h,defaultValues:l,shouldUnregister:!1,mode:"onBlur"});S(()=>{o.employmentId&&o?.checkFieldUpdates(r.getValues())},[]),S(()=>{let t=r?.watch(e=>{Object.keys(e).some(i=>e[i]!==l[i])&&o?.checkFieldUpdates(e)});return()=>t?.unsubscribe()},[]);let k=m(async(t,e)=>{let s=e?.nativeEvent;if(s?.isDraftSubmission){let{onSuccess:i,onError:c}=s.draftCallbacks;try{if(!await r.trigger())return;let n=await o.onSubmit(t);if(n?.data)i?.();else if(n?.error){let B=o.stepState.currentStep.name,P=o.meta?.fields?.[B],O=y(n?.fieldErrors||[],P);c?.({error:n.error,rawError:n.rawError,fieldErrors:O})}}catch(a){c?.({error:a,rawError:a,fieldErrors:[]})}}else g(t)},"handleSubmit");return d(F,{...r,children:d("form",{id:w,onSubmit:r.handleSubmit(k),className:"space-y-4 RemoteFlows__OnboardingForm",children:d(u,{components:E,fields:o.fields,fieldsets:o.meta.fieldsets,fieldValues:o.fieldValues})})})}m(N,"OnboardingForm");export{N as a};
|
|
2
|
-
//# sourceMappingURL=chunk-SZOOX2KY.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/accordion.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b last:border-b-0', className)}\n {...props}\n />\n );\n}\n\ntype AccordionTriggerProps = React.ComponentProps<\n typeof AccordionPrimitive.Trigger\n> & {\n iconClassName?: string;\n};\n\nfunction AccordionTrigger({\n className,\n iconClassName,\n children,\n ...props\n}: AccordionTriggerProps) {\n return (\n <AccordionPrimitive.Header className=\"flex items-center\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n 'focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronDownIcon\n className={cn(\n 'text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200 mt-1',\n iconClassName,\n )}\n />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":"gFACA,UAAYA,MAAwB,4BACpC,OAAS,mBAAAC,MAAuB,eAOvB,cAAAC,EA8BH,QAAAC,MA9BG,oBAHT,SAASC,EAAU,CACjB,GAAGC,CACL,EAAyD,CACvD,OAAOH,EAAoB,OAAnB,CAAwB,YAAU,YAAa,GAAGG,EAAO,CACnE,CAJSC,EAAAF,EAAA,aAMT,SAASG,EAAc,CACrB,UAAAC,EACA,GAAGH,CACL,EAAyD,CACvD,OACEH,EAAoB,OAAnB,CACC,YAAU,iBACV,UAAWO,EAAG,2BAA4BD,CAAS,EAClD,GAAGH,EACN,CAEJ,CAXSC,EAAAC,EAAA,iBAmBT,SAASG,EAAiB,CACxB,UAAAF,EACA,cAAAG,EACA,SAAAC,EACA,GAAGP,CACL,EAA0B,CACxB,OACEH,EAAoB,SAAnB,CAA0B,UAAU,oBACnC,SAAAC,EAAoB,UAAnB,CACC,YAAU,oBACV,UAAWM,EACT,6SACAD,CACF,EACC,GAAGH,EAEH,UAAAO,EACDV,EAACW,EAAA,CACC,UAAWJ,EACT,mHACAE,CACF,EACF,GACF,EACF,CAEJ,CA1BSL,EAAAI,EAAA,oBA4BT,SAASI,EAAiB,CACxB,UAAAN,EACA,SAAAI,EACA,GAAGP,CACL,EAA4D,CAC1D,OACEH,EAAoB,UAAnB,CACC,YAAU,oBACV,UAAU,4GACT,GAAGG,EAEJ,SAAAH,EAAC,OAAI,UAAWO,EAAG,YAAaD,CAAS,EAAI,SAAAI,EAAS,EACxD,CAEJ,CAdSN,EAAAQ,EAAA","names":["AccordionPrimitive","ChevronDownIcon","jsx","jsxs","Accordion","props","__name","AccordionItem","className","cn","AccordionTrigger","iconClassName","children","ChevronDownIcon","AccordionContent"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/scroll-area.tsx","../src/flows/CostCalculator/CostCalculatorDisclaimer.tsx"],"sourcesContent":["import * as React from 'react';\nimport * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';\n\nimport { cn } from '@/src/lib/utils';\n\nconst ScrollArea = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn('relative overflow-hidden', className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n HTMLDivElement,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = 'vertical', ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n 'flex touch-none select-none transition-colors',\n orientation === 'vertical' &&\n 'h-full w-2.5 border-l border-l-transparent p-[1px]',\n orientation === 'horizontal' &&\n 'h-2.5 flex-col border-t border-t-transparent p-[1px]',\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","import {\n Drawer,\n DrawerClose,\n DrawerContent,\n DrawerDescription,\n DrawerHeader,\n DrawerTitle,\n DrawerTrigger,\n} from '@/src/components/ui/drawer';\nimport { ScrollArea } from '@/src/components/ui/scroll-area';\nimport { X } from 'lucide-react';\nimport { Button } from '@/src/components/ui/button';\nimport { disclaimerData } from '@/src/flows/CostCalculator/disclaimerUtils';\n\ntype CostCalculatorDisclaimerProps = {\n label?: string;\n};\n\nexport const CostCalculatorDisclaimer = ({\n label = 'Disclaimer',\n}: CostCalculatorDisclaimerProps) => {\n return (\n <Drawer>\n <DrawerTrigger asChild>\n <Button variant=\"link\" size=\"link\">\n {label}\n </Button>\n </DrawerTrigger>\n <DrawerContent>\n <DrawerHeader>\n <DrawerClose className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DrawerClose>\n <DrawerTitle>{disclaimerData?.data.title}</DrawerTitle>\n <DrawerDescription>\n For more details read our{' '}\n <Button variant=\"link\" size=\"link\" asChild>\n <a\n href={disclaimerData?.data.html_url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Disclaimer\n </a>\n </Button>\n </DrawerDescription>\n </DrawerHeader>\n <ScrollArea className=\"px-4 pb-4 overflow-y-auto max-h-[calc(80vh-120px)] cost-calculator-disclaimer-drawer-scroll-area\">\n <div\n className=\"cost-calculator-disclaimer-drawer-body\"\n dangerouslySetInnerHTML={{\n __html: disclaimerData?.data.body ?? '',\n }}\n ></div>\n </ScrollArea>\n </DrawerContent>\n </Drawer>\n );\n};\n"],"mappings":"kPAAA,UAAYA,MAAW,QACvB,UAAYC,MAAyB,8BAQnC,OAKE,OAAAC,EALF,QAAAC,MAAA,oBAJF,IAAMC,EAAmB,aAGvB,CAAC,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAM,EAAGC,IACpCL,EAAqB,OAApB,CACC,IAAKK,EACL,UAAWC,EAAG,2BAA4BJ,CAAS,EAClD,GAAGE,EAEJ,UAAAL,EAAqB,WAApB,CAA6B,UAAU,kCACrC,SAAAI,EACH,EACAJ,EAACQ,EAAA,EAAU,EACXR,EAAqB,SAApB,EAA2B,GAC9B,CACD,EACDE,EAAW,YAAkC,OAAK,YAElD,IAAMM,EAAkB,aAGtB,CAAC,CAAE,UAAAL,EAAW,YAAAM,EAAc,WAAY,GAAGJ,CAAM,EAAGC,IACpDN,EAAqB,sBAApB,CACC,IAAKM,EACL,YAAaG,EACb,UAAWF,EACT,gDACAE,IAAgB,YACd,qDACFA,IAAgB,cACd,uDACFN,CACF,EACC,GAAGE,EAEJ,SAAAL,EAAqB,kBAApB,CAAoC,UAAU,yCAAyC,EAC1F,CACD,EACDQ,EAAU,YAAkC,sBAAoB,YCjChE,OAAS,KAAAE,MAAS,eAcV,cAAAC,EAME,QAAAC,MANF,oBAND,IAAMC,EAA2BC,EAAA,CAAC,CACvC,MAAAC,EAAQ,YACV,IAEIH,EAACI,EAAA,CACC,UAAAL,EAACM,EAAA,CAAc,QAAO,GACpB,SAAAN,EAACO,EAAA,CAAO,QAAQ,OAAO,KAAK,OACzB,SAAAH,EACH,EACF,EACAH,EAACO,EAAA,CACC,UAAAP,EAACQ,EAAA,CACC,UAAAR,EAACS,EAAA,CAAY,UAAU,4MACrB,UAAAV,EAACW,EAAA,CAAE,UAAU,UAAU,EACvBX,EAAC,QAAK,UAAU,UAAU,iBAAK,GACjC,EACAA,EAACY,EAAA,CAAa,SAAAC,GAAgB,KAAK,MAAM,EACzCZ,EAACa,EAAA,CAAkB,sCACS,IAC1Bd,EAACO,EAAA,CAAO,QAAQ,OAAO,KAAK,OAAO,QAAO,GACxC,SAAAP,EAAC,KACC,KAAMa,GAAgB,KAAK,SAC3B,OAAO,SACP,IAAI,sBACL,sBAED,EACF,GACF,GACF,EACAb,EAACe,EAAA,CAAW,UAAU,mGACpB,SAAAf,EAAC,OACC,UAAU,yCACV,wBAAyB,CACvB,OAAQa,GAAgB,KAAK,MAAQ,EACvC,EACD,EACH,GACF,GACF,EAvCoC","names":["React","ScrollAreaPrimitive","jsx","jsxs","ScrollArea","className","children","props","ref","cn","ScrollBar","orientation","X","jsx","jsxs","CostCalculatorDisclaimer","__name","label","Drawer","DrawerTrigger","Button","DrawerContent","DrawerHeader","DrawerClose","X","DrawerTitle","disclaimerData","DrawerDescription","ScrollArea"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorIndirectTax.tsx"],"sourcesContent":["import { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\n\ntype CostCalculatorIndirectTaxProps = {\n indirectTax: number;\n currency: string;\n};\n\nexport function CostCalculatorIndirectTax({\n indirectTax,\n currency,\n}: CostCalculatorIndirectTaxProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground\">Indirect Tax</h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(indirectTax, currency)}\n </span>\n </div>\n <Separator />\n </div>\n );\n}\n"],"mappings":"mHAcM,OACE,OAAAA,EADF,QAAAC,MAAA,oBANC,SAASC,EAA0B,CACxC,YAAAC,EACA,SAAAC,CACF,EAAmC,CACjC,OACEH,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAAC,MAAG,UAAU,sCAAsC,wBAAY,EAChEA,EAAC,QAAK,UAAU,wBACb,SAAAK,EAAeF,EAAaC,CAAQ,EACvC,GACF,EACAJ,EAACM,EAAA,EAAU,GACb,CAEJ,CAfgBC,EAAAL,EAAA","names":["jsx","jsxs","CostCalculatorIndirectTax","indirectTax","currency","formatCurrency","Separator","__name"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ui/checkbox.tsx","../src/components/ui/alert.tsx","../src/components/ui/radio-group.tsx","../src/components/ui/select.tsx","../src/components/ui/dialog.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox';\nimport { Check } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst Checkbox = React.forwardRef<\n React.ComponentRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'peer h-4 w-4 shrink-0 rounded-sm border border-input ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-checkbox data-[state=checked]:text-primary',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn('flex items-center justify-center text-current')}\n >\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckbox.displayName = CheckboxPrimitive.Root.displayName;\n\nexport { Checkbox };\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nconst alertVariants = cva(\n 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90',\n warning:\n 'bg-card bg-warning border-warning-border [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle };\n","import * as RadioGroupPrimitive from '@radix-ui/react-radio-group';\nimport { CircleIcon } from 'lucide-react';\nimport * as React from 'react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn('grid gap-3', className)}\n {...props}\n />\n );\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n 'border-input text-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive aspect-square size-4 shrink-0 rounded-full border shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"relative flex items-center justify-center\"\n >\n <CircleIcon className=\"fill-radio absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n );\n}\n\nexport { RadioGroup, RadioGroupItem };\n","import * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger>) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive flex w-full items-center justify-between rounded-xl border bg-transparent px-4 py-7 text-sm whitespace-nowrap transition-[color] outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n 'focus-visible:border-focused',\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild className=\"absolute right-4\">\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-xl border',\n position === 'popper' &&\n 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1',\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('px-2 py-1.5 text-sm font-medium', className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground min-h-11 justify-between [&_svg:not([class*='text-'])]:text-muted-foreground flex w-full cursor-default items-center gap-2 py-2 px-4 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className,\n )}\n {...props}\n >\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n <span className=\"flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border pointer-events-none -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n 'flex cursor-default items-center justify-center py-1',\n className,\n )}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n 'flex cursor-default items-center justify-center py-1',\n className,\n )}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n","'use client';\n\nimport * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\n\nimport { cn } from '@/src/lib/utils';\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content>) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg',\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 RemoteFlows__Dialog__Close\">\n <XIcon />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn('flex flex-col gap-2 text-center sm:text-left', className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn('text-lg leading-none font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"],"mappings":"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","names":["React","CheckboxPrimitive","Check","jsx","Checkbox","className","props","ref","cn","Check","cva","jsx","alertVariants","cva","Alert","className","variant","props","cn","__name","AlertTitle","AlertDescription","RadioGroupPrimitive","CircleIcon","jsx","RadioGroup","className","props","cn","__name","RadioGroupItem","CircleIcon","SelectPrimitive","CheckIcon","ChevronDownIcon","ChevronUpIcon","jsx","jsxs","Select","props","__name","SelectGroup","SelectValue","SelectTrigger","className","children","cn","ChevronDownIcon","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectItem","className","children","props","jsxs","cn","jsx","CheckIcon","__name","SelectScrollUpButton","className","props","jsx","cn","ChevronUpIcon","__name","SelectScrollDownButton","ChevronDownIcon","DialogPrimitive","XIcon","jsx","jsxs","Dialog","props","__name","DialogTrigger","DialogPortal","DialogOverlay","className","props","jsx","cn","__name","DialogContent","children","jsxs","DialogPortal","XIcon","DialogHeader","DialogFooter","DialogTitle","DialogDescription"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/shared/zendesk-drawer/api.ts","../src/components/shared/zendesk-drawer/ZendeskDrawer.tsx","../src/components/shared/zendesk-drawer/ZendeskTriggerButton.tsx"],"sourcesContent":["import { getShowHelpCenterArticle } from '@/src/client';\nimport { useClient } from '@/src/context';\nimport { Client } from '@hey-api/client-fetch';\nimport { useQuery } from '@tanstack/react-query';\n\nexport const useZendeskArticle = (\n zendeskId: number | null,\n queryOptions?: { enabled?: boolean },\n) => {\n const { client } = useClient();\n return useQuery({\n queryKey: ['zendesk-article', zendeskId],\n queryFn: async () => {\n const response = await getShowHelpCenterArticle({\n client: client as Client,\n path: {\n id: Number(zendeskId),\n },\n });\n\n if (response.error) {\n throw new Error(response.error.message || 'Failed to fetch article');\n }\n\n return response;\n },\n select: (data) => data.data?.data.help_center_article,\n retry: false,\n ...queryOptions,\n });\n};\n","import { useZendeskArticle } from '@/src/components/shared/zendesk-drawer/api';\nimport {\n Drawer,\n DrawerTrigger,\n DrawerContent,\n DrawerDescription,\n DrawerHeader,\n DrawerTitle,\n} from '@/src/components/ui/drawer';\nimport { sanitizeHtml } from '@/src/lib/utils';\n\nexport type ZendeskDrawerProps = {\n Trigger: React.ReactNode;\n zendeskId: number;\n open: boolean;\n onClose: () => void;\n};\n\nconst buildZendeskURL = (zendeskId: number) => {\n return `https://support.remote.com/hc/en-us/articles/${zendeskId}`;\n};\n\nexport const ZendeskDrawer = ({\n Trigger,\n zendeskId,\n open,\n onClose,\n}: ZendeskDrawerProps) => {\n const zendeskURL = buildZendeskURL(zendeskId);\n\n const handleClose = () => {\n onClose?.();\n };\n\n const { data, isLoading, error } = useZendeskArticle(zendeskId, {\n enabled: open,\n });\n\n return (\n <Drawer\n open={open}\n onOpenChange={(open) => !open && handleClose()}\n direction=\"right\"\n >\n <DrawerTrigger asChild>{Trigger}</DrawerTrigger>\n <DrawerContent className=\"h-full w-[480px] mt-0 ml-auto RemoteFlows_ZendeskDrawer\">\n <div className=\"h-full flex flex-col\">\n <DrawerHeader>\n <DrawerTitle>{data?.title}</DrawerTitle>\n <DrawerDescription>\n For more details see our{' '}\n <a href={zendeskURL} target=\"_blank\" rel=\"noopener noreferrer\">\n help article\n </a>{' '}\n </DrawerDescription>\n </DrawerHeader>\n {isLoading && <div>Loading...</div>}\n {error && (\n <div className=\"text-sm p-4 text-red-500\">\n Error loading article\n </div>\n )}\n <div\n className=\"flex-1 overflow-y-auto p-4 RemoteFlows_ZendeskDrawer__Content\"\n dangerouslySetInnerHTML={{\n __html: sanitizeHtml(data?.body || ''),\n }}\n ></div>\n </div>\n </DrawerContent>\n </Drawer>\n );\n};\n","import { cn } from '@/src/lib/utils';\nimport { ZendeskDrawer } from './ZendeskDrawer';\nimport { useState } from 'react';\n\ninterface ZendeskTriggerButtonProps {\n zendeskId: number;\n className?: string;\n onClick?: (zendeskId: number) => void;\n children?: React.ReactNode;\n}\n\nexport function ZendeskTriggerButton({\n zendeskId,\n className,\n onClick,\n children,\n}: ZendeskTriggerButtonProps) {\n const [isOpen, setIsOpen] = useState(false);\n\n const handleClick = () => {\n setIsOpen(true);\n onClick?.(zendeskId);\n };\n\n return (\n <ZendeskDrawer\n zendeskId={zendeskId}\n open={isOpen}\n onClose={() => setIsOpen(false)}\n Trigger={\n <button\n onClick={handleClick}\n className={cn(\n 'RemoteFlows__ZendeskTriggerButton text-blue-500 hover:underline inline-block mt-1 text-xs bg-transparent border-none cursor-pointer p-0',\n className,\n )}\n >\n {children}\n </button>\n }\n />\n );\n}\n"],"mappings":"kPAGA,OAAS,YAAAA,MAAgB,wBAElB,IAAMC,EAAoBC,EAAA,CAC/BC,EACAC,IACG,CACH,GAAM,CAAE,OAAAC,CAAO,EAAIC,EAAU,EAC7B,OAAOC,EAAS,CACd,SAAU,CAAC,kBAAmBJ,CAAS,EACvC,QAASD,EAAA,SAAY,CACnB,IAAMM,EAAW,MAAMC,EAAyB,CAC9C,OAAQJ,EACR,KAAM,CACJ,GAAI,OAAOF,CAAS,CACtB,CACF,CAAC,EAED,GAAIK,EAAS,MACX,MAAM,IAAI,MAAMA,EAAS,MAAM,SAAW,yBAAyB,EAGrE,OAAOA,CACT,EAbS,WAcT,OAAQN,EAACQ,GAASA,EAAK,MAAM,KAAK,oBAA1B,UACR,MAAO,GACP,GAAGN,CACL,CAAC,CACH,EAzBiC,qBCuC3B,cAAAO,EAKM,QAAAC,MALN,oBA1BN,IAAMC,EAAkBC,EAACC,GAChB,gDAAgDA,CAAS,GAD1C,mBAIXC,EAAgBF,EAAA,CAAC,CAC5B,QAAAG,EACA,UAAAF,EACA,KAAAG,EACA,QAAAC,CACF,IAA0B,CACxB,IAAMC,EAAaP,EAAgBE,CAAS,EAEtCM,EAAcP,EAAA,IAAM,CACxBK,IAAU,CACZ,EAFoB,eAId,CAAE,KAAAG,EAAM,UAAAC,EAAW,MAAAC,CAAM,EAAIC,EAAkBV,EAAW,CAC9D,QAASG,CACX,CAAC,EAED,OACEN,EAACc,EAAA,CACC,KAAMR,EACN,aAAeA,GAAS,CAACA,GAAQG,EAAY,EAC7C,UAAU,QAEV,UAAAV,EAACgB,EAAA,CAAc,QAAO,GAAE,SAAAV,EAAQ,EAChCN,EAACiB,EAAA,CAAc,UAAU,0DACvB,SAAAhB,EAAC,OAAI,UAAU,uBACb,UAAAA,EAACiB,EAAA,CACC,UAAAlB,EAACmB,EAAA,CAAa,SAAAR,GAAM,MAAM,EAC1BV,EAACmB,EAAA,CAAkB,qCACQ,IACzBpB,EAAC,KAAE,KAAMS,EAAY,OAAO,SAAS,IAAI,sBAAsB,wBAE/D,EAAK,KACP,GACF,EACCG,GAAaZ,EAAC,OAAI,sBAAU,EAC5Ba,GACCb,EAAC,OAAI,UAAU,2BAA2B,iCAE1C,EAEFA,EAAC,OACC,UAAU,gEACV,wBAAyB,CACvB,OAAQqB,EAAaV,GAAM,MAAQ,EAAE,CACvC,EACD,GACH,EACF,GACF,CAEJ,EAlD6B,iBCpB7B,OAAS,YAAAW,MAAgB,QA4BjB,cAAAC,MAAA,oBAnBD,SAASC,EAAqB,CACnC,UAAAC,EACA,UAAAC,EACA,QAAAC,EACA,SAAAC,CACF,EAA8B,CAC5B,GAAM,CAACC,EAAQC,CAAS,EAAIC,EAAS,EAAK,EAO1C,OACER,EAACS,EAAA,CACC,UAAWP,EACX,KAAMI,EACN,QAAS,IAAMC,EAAU,EAAK,EAC9B,QACEP,EAAC,UACC,QAZYU,EAAA,IAAM,CACxBH,EAAU,EAAI,EACdH,IAAUF,CAAS,CACrB,EAHoB,eAaZ,UAAWS,EACT,0IACAR,CACF,EAEC,SAAAE,EACH,EAEJ,CAEJ,CA/BgBK,EAAAT,EAAA","names":["useQuery","useZendeskArticle","__name","zendeskId","queryOptions","client","useClient","useQuery","response","getShowHelpCenterArticle","data","jsx","jsxs","buildZendeskURL","__name","zendeskId","ZendeskDrawer","Trigger","open","onClose","zendeskURL","handleClose","data","isLoading","error","useZendeskArticle","Drawer","DrawerTrigger","DrawerContent","DrawerHeader","DrawerTitle","DrawerDescription","sanitizeHtml","useState","jsx","ZendeskTriggerButton","zendeskId","className","onClick","children","isOpen","setIsOpen","useState","ZendeskDrawer","__name","cn"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/flows/CostCalculator/Results/CostCalculatorExtraStatutoryPaymentsBreakdown.tsx"],"sourcesContent":["import { Info } from 'lucide-react';\n\nimport { Button } from '@/src/components/ui/button';\nimport { Separator } from '@/src/components/ui/separator';\nimport { formatCurrency } from '@/src/lib/utils';\nimport { BasicTooltip } from '@/src/components/ui/basic-tooltip';\nimport { ZendeskTriggerButton } from '@/src/components/shared/zendesk-drawer/ZendeskTriggerButton';\n\ntype CostCalculatorExtraStatutoryPaymentsBreakdownProps = {\n extraStatutoryPaymentsTotal: number | null;\n extraStatutoryPaymentsBreakdown: {\n name: string;\n description: string | null;\n zendesk_article_url: string | null;\n zendesk_article_id: string | null;\n amount: number;\n }[];\n currency: string;\n};\n\nexport function CostCalculatorExtraStatutoryPaymentsBreakdown({\n extraStatutoryPaymentsTotal,\n extraStatutoryPaymentsBreakdown,\n currency,\n}: CostCalculatorExtraStatutoryPaymentsBreakdownProps) {\n return (\n <div>\n <div className=\"flex justify-between items-center mb-2\">\n <h3 className=\"font-medium text-primary-foreground-800\">\n Extra Statutory Payments\n </h3>\n <span className=\"font-semibold text-lg\">\n {formatCurrency(extraStatutoryPaymentsTotal, currency)}\n </span>\n </div>\n <Separator className=\"mb-3\" />\n\n <div className=\"space-y-3 pl-2\">\n {extraStatutoryPaymentsBreakdown.map((payment, index) => (\n <div key={index} className=\"flex justify-between items-start text-sm\">\n <div className=\"flex items-start gap-2\">\n <span>{payment.name}</span>\n {payment.description && (\n <BasicTooltip\n content={\n <>\n <span>{payment.description}</span>{' '}\n {payment.zendesk_article_url && (\n <ZendeskTriggerButton\n zendeskId={Number(payment.zendesk_article_id)}\n >\n Learn more\n </ZendeskTriggerButton>\n )}\n </>\n }\n >\n <Button variant=\"ghost\" size=\"icon\" className=\"h-4 w-4 p-0\">\n <Info className=\"h-3 w-3 text-gray-400\" />\n <span className=\"sr-only\">Info</span>\n </Button>\n </BasicTooltip>\n )}\n </div>\n <span>{formatCurrency(payment.amount, currency)}</span>\n </div>\n ))}\n </div>\n </div>\n );\n}\n"],"mappings":"gPAAA,OAAS,QAAAA,MAAY,eA2Bf,OAkBc,YAAAC,EAjBZ,OAAAC,EADF,QAAAC,MAAA,oBAPC,SAASC,EAA8C,CAC5D,4BAAAC,EACA,gCAAAC,EACA,SAAAC,CACF,EAAuD,CACrD,OACEJ,EAAC,OACC,UAAAA,EAAC,OAAI,UAAU,yCACb,UAAAD,EAAC,MAAG,UAAU,0CAA0C,oCAExD,EACAA,EAAC,QAAK,UAAU,wBACb,SAAAM,EAAeH,EAA6BE,CAAQ,EACvD,GACF,EACAL,EAACO,EAAA,CAAU,UAAU,OAAO,EAE5BP,EAAC,OAAI,UAAU,iBACZ,SAAAI,EAAgC,IAAI,CAACI,EAASC,IAC7CR,EAAC,OAAgB,UAAU,2CACzB,UAAAA,EAAC,OAAI,UAAU,yBACb,UAAAD,EAAC,QAAM,SAAAQ,EAAQ,KAAK,EACnBA,EAAQ,aACPR,EAACU,EAAA,CACC,QACET,EAAAF,EAAA,CACE,UAAAC,EAAC,QAAM,SAAAQ,EAAQ,YAAY,EAAQ,IAClCA,EAAQ,qBACPR,EAACW,EAAA,CACC,UAAW,OAAOH,EAAQ,kBAAkB,EAC7C,sBAED,GAEJ,EAGF,SAAAP,EAACW,EAAA,CAAO,QAAQ,QAAQ,KAAK,OAAO,UAAU,cAC5C,UAAAZ,EAACa,EAAA,CAAK,UAAU,wBAAwB,EACxCb,EAAC,QAAK,UAAU,UAAU,gBAAI,GAChC,EACF,GAEJ,EACAA,EAAC,QAAM,SAAAM,EAAeE,EAAQ,OAAQH,CAAQ,EAAE,IAzBxCI,CA0BV,CACD,EACH,GACF,CAEJ,CAlDgBK,EAAAZ,EAAA","names":["Info","Fragment","jsx","jsxs","CostCalculatorExtraStatutoryPaymentsBreakdown","extraStatutoryPaymentsTotal","extraStatutoryPaymentsBreakdown","currency","formatCurrency","Separator","payment","index","BasicTooltip","ZendeskTriggerButton","Button","Info","__name"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|