udp-react-enterprise-component-library 26.5.0-beta.2 → 26.5.0-beta.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/UI/AlertContainer.mjs +1 -1
- package/dist/UI/Box.mjs +1 -1
- package/dist/UI/Grid.mjs +1 -1
- package/dist/UI/accordion/Accordion.mjs +1 -1
- package/dist/UI/advancedSearchBuilder/UdpAdvancedSearchBuilder.mjs +1 -1
- package/dist/UI/charts/ag/UdpAgAreaChart.mjs +1 -1
- package/dist/UI/charts/ag/UdpAgBarChart.mjs +1 -1
- package/dist/UI/charts/ag/UdpAgBubbleChart.mjs +1 -1
- package/dist/UI/charts/ag/UdpAgComboChart.mjs +1 -1
- package/dist/UI/charts/ag/UdpAgDonutChart.mjs +1 -1
- package/dist/UI/charts/ag/UdpAgLineChart.mjs +1 -1
- package/dist/UI/charts/ag/UdpAgPieChart.mjs +1 -1
- package/dist/UI/charts/ag/UdpAgScatterChart.mjs +1 -1
- package/dist/UI/charts/amcharts/UdpBarChart.mjs +1 -1
- package/dist/UI/charts/amcharts/UdpDistributionChart.mjs +1 -1
- package/dist/UI/charts/amcharts/UdpDonutChart.mjs +1 -1
- package/dist/UI/charts/amcharts/UdpLineChart.mjs +1 -1
- package/dist/UI/charts/amcharts/UdpSankeyChart.mjs +1 -1
- package/dist/UI/charts/amcharts/UdpXYMultiSeriesChart.mjs +1 -1
- package/dist/UI/components/dataDisplay/Ellipse.mjs +1 -1
- package/dist/UI/components/dataDisplay/EmailDisplay.mjs +1 -1
- package/dist/UI/components/dataDisplay/SmsDisplay.mjs +1 -1
- package/dist/UI/components/dataDisplay/Sticky.mjs +1 -1
- package/dist/UI/components/dataDisplay/Token.mjs +1 -1
- package/dist/UI/components/feedback/Adornment.mjs +1 -1
- package/dist/UI/dataDisplay/AmbientList.mjs +1 -1
- package/dist/UI/dataDisplay/AvatarAlphabet.mjs +1 -1
- package/dist/UI/dataDisplay/ChipAlphabet.mjs +1 -1
- package/dist/UI/dataDisplay/CompactDataList.mjs +1 -1
- package/dist/UI/dataDisplay/CompactDataListItem.mjs +1 -1
- package/dist/UI/dataDisplay/EmptyStateDisplay.mjs +1 -1
- package/dist/UI/dataDisplay/FluentActivity/FluentActivity.mjs +1 -1
- package/dist/UI/dataDisplay/FluentActivity/FluentActivityRow.mjs +1 -1
- package/dist/UI/dataDisplay/FluentDataTable/FluentBody/index.mjs +1 -1
- package/dist/UI/dataDisplay/FluentDataTable/FluentCell/index.mjs +1 -1
- package/dist/UI/dataDisplay/FluentDataTable/FluentHead/index.mjs +1 -1
- package/dist/UI/dataDisplay/FluentDataTable/FluentRow/index.mjs +1 -1
- package/dist/UI/dataDisplay/FluentListElement.mjs +1 -1
- package/dist/UI/dataDisplay/FluentListItem.mjs +1 -1
- package/dist/UI/dataDisplay/GraphCard/GraphCard.mjs +1 -1
- package/dist/UI/dataDisplay/HeaderExpander.mjs +1 -1
- package/dist/UI/dataDisplay/SummaryBlock.mjs +1 -1
- package/dist/UI/dataDisplay/UdpDetailList.mjs +1 -1
- package/dist/UI/dataDisplay/UdpDetailListItem.mjs +1 -1
- package/dist/UI/dataDisplay/address/AddressListItem.mjs +1 -1
- package/dist/UI/dataDisplay/calendar/TimelineCalendar.mjs +1 -1
- package/dist/UI/dataDisplay/cardList/CardList.mjs +1 -1
- package/dist/UI/dataDisplay/directory/Directory.mjs +1 -1
- package/dist/UI/dataDisplay/directory/DirectoryListItem.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/EntityHeader.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/functions/useElementWidth.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/ui/AlertPill.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/ui/EntityHeaderContainer.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/ui/EntityHeaderFlags.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/ui/EntityHeaderList.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/ui/EntityHeaderListItem.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/ui/EntityHeaderSection.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/ui/EntityHeaderStatList.mjs +1 -1
- package/dist/UI/dataDisplay/entityHeader/ui/EntityHeaderStatListItem.mjs +1 -1
- package/dist/UI/dataDisplay/map/ColorKey.mjs +1 -1
- package/dist/UI/dataDisplay/map/FluentIconKey.mjs +1 -1
- package/dist/UI/dataDisplay/map/IconKey.mjs +1 -1
- package/dist/UI/dataDisplay/notes/Note.mjs +1 -1
- package/dist/UI/dataDisplay/notes/Notes.mjs +1 -1
- package/dist/UI/dataDisplay/status/StatusChip.mjs +1 -1
- package/dist/UI/dataDisplay/status/StatusFlags.mjs +1 -1
- package/dist/UI/dataDisplay/ticketCard/NotificationElement.mjs +1 -1
- package/dist/UI/dataDisplay/ticketCard/StatusLineItem.mjs +1 -1
- package/dist/UI/dataDisplay/ticketCard/TicketCard.mjs +1 -1
- package/dist/UI/dataDisplay/typography/FormHeaders.mjs +1 -1
- package/dist/UI/dataDisplay/typography/SideSheetHeader.mjs +1 -1
- package/dist/UI/dataDisplay/typography/SidebarHeader.mjs +1 -1
- package/dist/UI/dataDisplay/typography/StandardTitle.mjs +1 -1
- package/dist/UI/dataDisplay/typography/StylizedTitle.mjs +1 -1
- package/dist/UI/dataDisplay/typography/Typography.mjs +1 -1
- package/dist/UI/dataDisplay/visualization/AmbientVisualizer.mjs +1 -1
- package/dist/UI/dataDisplay/visualization/GaugeGraph.mjs +1 -1
- package/dist/UI/dataDisplay/visualization/RatioVisulization.mjs +1 -1
- package/dist/UI/dataDisplay/visualization/amCharts/AmChart.mjs +1 -1
- package/dist/UI/feedback/AmbientAlert.mjs +1 -1
- package/dist/UI/feedback/AmbientToast.mjs +1 -1
- package/dist/UI/feedback/FluentDialog.mjs +1 -1
- package/dist/UI/feedback/MenuLoader.mjs +1 -1
- package/dist/UI/feedback/NodeLoader.mjs +1 -1
- package/dist/UI/feedback/PageLoading.mjs +1 -1
- package/dist/UI/fileViewer/imageSlider/Image.mjs +1 -1
- package/dist/UI/fileViewer/imageSlider/ImageFooter.mjs +1 -1
- package/dist/UI/fileViewer/imageSlider/ImageSlider.mjs +1 -1
- package/dist/UI/fileViewer/imageSlider/ImageViewerSideSheet.mjs +1 -1
- package/dist/UI/fileViewer/pdfViewer/ControlPanel.mjs +1 -1
- package/dist/UI/fileViewer/pdfViewer/PDFViewer.d.ts +2 -0
- package/dist/UI/fileViewer/pdfViewer/PDFViewer.d.ts.map +1 -1
- package/dist/UI/fileViewer/pdfViewer/PDFViewer.js +2 -0
- package/dist/UI/fileViewer/pdfViewer/PDFViewer.js.map +1 -1
- package/dist/UI/fileViewer/pdfViewer/PDFViewer.mjs +3 -1
- package/dist/UI/fileViewer/pdfViewer/PDFViewer.mjs.map +1 -1
- package/dist/UI/floorplans/CoreLayoutFloorplan.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpAccordion.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpAutocomplete.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpAvatar.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpBadge.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpButton.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpCard.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpCheckbox.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpChip.d.ts +4 -0
- package/dist/UI/fluent-web-components/UdpChip.d.ts.map +1 -1
- package/dist/UI/fluent-web-components/UdpChip.js +4 -0
- package/dist/UI/fluent-web-components/UdpChip.js.map +1 -1
- package/dist/UI/fluent-web-components/UdpChip.mjs +5 -1
- package/dist/UI/fluent-web-components/UdpChip.mjs.map +1 -1
- package/dist/UI/fluent-web-components/UdpCompoundButton.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpContainerQuery.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpContainerQueryGrid.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpCounterBadge.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpDateInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpDatePicker.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpDateTimeInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpDialog.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpDivider.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpDrawer.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpDropdown.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpDurationInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpEmptyState.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpFileInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpFlexbox.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpIcon.mjs +3 -3
- package/dist/UI/fluent-web-components/UdpIcon.mjs.map +1 -1
- package/dist/UI/fluent-web-components/UdpIconButton.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpIconGrid.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpImage.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpLink.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpList.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpListItem.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpLocationInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpMenu.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpMessageBar.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpNumberInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpPopover.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpPrimaryActionHeader.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpProgressBar.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpRadioGroup.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpSearchInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpSignatureInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpSlider.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpSpinner.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpSwatchPicker.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpSwitch.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpTablist.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpText.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpTextInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpTextarea.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpTimeInput.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpToggleButton.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpTooltip.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpTree.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpTreeItem.mjs +1 -1
- package/dist/UI/fluent-web-components/UdpVerticalSpacer.mjs +1 -1
- package/dist/UI/forms/LoginForm.mjs +1 -1
- package/dist/UI/forms/UdpTransactionEmailForm.mjs +1 -1
- package/dist/UI/forms/VirtualForm.mjs +1 -1
- package/dist/UI/iframe/Iframe.mjs +1 -1
- package/dist/UI/inputs/buttons/AmbientCardButton.mjs +1 -1
- package/dist/UI/inputs/buttons/AmbientChipButton.mjs +1 -1
- package/dist/UI/inputs/buttons/AmbientPopoverMenuItem.mjs +1 -1
- package/dist/UI/inputs/buttons/AmbientToggleButton.mjs +1 -1
- package/dist/UI/inputs/buttons/AmbientToggleButtonGroup.mjs +1 -1
- package/dist/UI/inputs/buttons/AmbientToggleButtonGroupDefault.mjs +1 -1
- package/dist/UI/inputs/buttons/AmbientTokenButton.mjs +1 -1
- package/dist/UI/inputs/buttons/FUISquareIconButton.mjs +1 -1
- package/dist/UI/inputs/buttons/FluentButton.mjs +1 -1
- package/dist/UI/inputs/buttons/FluentCompoundButton.mjs +1 -1
- package/dist/UI/inputs/buttons/FluentIconButton.mjs +1 -1
- package/dist/UI/inputs/buttons/FluentMenuListButton.mjs +1 -1
- package/dist/UI/inputs/buttons/FluentUploadButton.mjs +1 -1
- package/dist/UI/inputs/buttons/FluentUploadIconButton.mjs +1 -1
- package/dist/UI/inputs/buttons/IconButtonWithToolTip.mjs +1 -1
- package/dist/UI/inputs/buttons/PrimaryActionButton.mjs +1 -1
- package/dist/UI/inputs/buttons/ToolBarButton.mjs +1 -1
- package/dist/UI/inputs/buttons/UdpActionCard/UdpActionCard.mjs +1 -1
- package/dist/UI/inputs/calendar/AmbientDateRangeSelector.mjs +1 -1
- package/dist/UI/inputs/checkbox/FluentCheckbox.mjs +1 -1
- package/dist/UI/inputs/dateRangeSelector/UdpDateRangeSelector.mjs +1 -1
- package/dist/UI/inputs/datetimes/DateField.mjs +1 -1
- package/dist/UI/inputs/datetimes/DateTimeField.mjs +1 -1
- package/dist/UI/inputs/datetimes/TimeField.mjs +1 -1
- package/dist/UI/inputs/fieldArrayCard/AutocompleteFinalField.mjs +1 -1
- package/dist/UI/inputs/fieldArrayCard/DateRangeField.mjs +1 -1
- package/dist/UI/inputs/fieldArrayCard/FieldArrayCard.mjs +1 -1
- package/dist/UI/inputs/fieldArrayCard/SearchSideSheet.mjs +1 -1
- package/dist/UI/inputs/link/BreadCrumbMenu.mjs +1 -1
- package/dist/UI/inputs/link/FluentLink.mjs +1 -1
- package/dist/UI/inputs/menus/AmbientStepper/AmbientStepper.mjs +1 -1
- package/dist/UI/inputs/menus/AmbientStepper/StepLabel.mjs +1 -1
- package/dist/UI/inputs/menus/FluentSelectDirectoryMenu.mjs +1 -1
- package/dist/UI/inputs/menus/FluentSelectGroupMenu.mjs +1 -1
- package/dist/UI/inputs/menus/FluentSelectMenu.mjs +1 -1
- package/dist/UI/inputs/menus/FluentSimpleSelect.mjs +1 -1
- package/dist/UI/inputs/pickers/FluentColorPicker.mjs +1 -1
- package/dist/UI/inputs/pickers/FluentDatePicker.mjs +1 -1
- package/dist/UI/inputs/pickers/FluentDateTimePicker.mjs +1 -1
- package/dist/UI/inputs/pickers/FluentTimePicker.mjs +1 -1
- package/dist/UI/inputs/pickers/UdpDateSelector.mjs +1 -1
- package/dist/UI/inputs/pickers/UdpTimeSelector.mjs +1 -1
- package/dist/UI/inputs/radio/FluentRadio.mjs +1 -1
- package/dist/UI/inputs/radio/FluentRadioGroup.mjs +1 -1
- package/dist/UI/inputs/richEditors/CkRichEditor.mjs +1 -1
- package/dist/UI/inputs/sliders/FluentInputSlider.mjs +1 -1
- package/dist/UI/inputs/textField/AmbientAutoComplete.mjs +1 -1
- package/dist/UI/inputs/textField/AmbientTextField.mjs +1 -1
- package/dist/UI/inputs/textField/FluentSearchField.mjs +1 -1
- package/dist/UI/inputs/textField/FluentTagField.mjs +1 -1
- package/dist/UI/inputs/textField/FluentTextField.mjs +1 -1
- package/dist/UI/inputs/textField/FluentTextFieldAutoComplete.mjs +1 -1
- package/dist/UI/inputs/textField/KeyValueTextField.mjs +1 -1
- package/dist/UI/inputs/toggle/FluentToggle.mjs +1 -1
- package/dist/UI/loading/CircularProgress.mjs +1 -1
- package/dist/UI/loading/LinearProgress.mjs +1 -1
- package/dist/UI/loading/LoadingIndicator/LoadingIndicator.mjs +1 -1
- package/dist/UI/loading/LoadingOverlay.mjs +1 -1
- package/dist/UI/mapLayout/ui/ActionsRenderer.mjs +1 -1
- package/dist/UI/mapLayout/ui/CheckboxList.mjs +1 -1
- package/dist/UI/mapLayout/ui/CompactCard.mjs +1 -1
- package/dist/UI/mapLayout/ui/ListCard.mjs +1 -1
- package/dist/UI/mapLayout/ui/PopoverCard.mjs +1 -1
- package/dist/UI/mapLayout/ui/Statistic.mjs +1 -1
- package/dist/UI/maps/UdpMap.mjs +1 -1
- package/dist/UI/maps/UdpMapComponent.mjs +1 -1
- package/dist/UI/maps/UdpMapToolbar.mjs +1 -1
- package/dist/UI/navigation/FluentSideNav.mjs +1 -1
- package/dist/UI/navigation/menus/AppMenu.mjs +1 -1
- package/dist/UI/navigation/menus/AppMenuItem.mjs +1 -1
- package/dist/UI/navigation/menus/AppMenuItemComponent.mjs +1 -1
- package/dist/UI/navigation/menus/Expander.mjs +1 -1
- package/dist/UI/navigation/menus/ExpanderItem.mjs +1 -1
- package/dist/UI/navigation/menus/FluentMenuListItem.mjs +1 -1
- package/dist/UI/navigation/tabs/UdpTabPanel.mjs +1 -1
- package/dist/UI/navigation/tabs/UdpTabUtility.mjs +1 -1
- package/dist/UI/navigation/tabs/defaultTabs/FluentSimpleTab.mjs +1 -1
- package/dist/UI/navigation/tabs/defaultTabs/FluentSimpleTabs.mjs +1 -1
- package/dist/UI/navigation/tabs/defaultTabs/FluentTabPanel.mjs +1 -1
- package/dist/UI/property/PropertyFields.mjs +1 -1
- package/dist/UI/property/widgets/AutoCompletePropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/BooleanPropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/DatePropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/DateTimePropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/FloatPropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/IntegerPropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/MultilineTextPropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/NumericPropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/SelectPropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/TextPropertyWidget.mjs +1 -1
- package/dist/UI/property/widgets/TimePropertyWidget.mjs +1 -1
- package/dist/UI/stepper/udp-stepper-actions.mjs +1 -1
- package/dist/UI/stepper/udp-stepper-content.mjs +1 -1
- package/dist/UI/stepper/udp-stepper-nav.mjs +1 -1
- package/dist/UI/stepper/udp-stepper.mjs +1 -1
- package/dist/UI/support/SupportCaseSideSheet.mjs +1 -1
- package/dist/UI/surfaces/NestedGrid/NestedGrid.mjs +1 -1
- package/dist/UI/surfaces/NestedGrid/ui/ExpandRenderer.mjs +1 -1
- package/dist/UI/surfaces/SideSheet.mjs +1 -1
- package/dist/UI/surfaces/cards/AmbientCard/AmbientCard.mjs +1 -1
- package/dist/UI/surfaces/cards/BioCard.mjs +1 -1
- package/dist/UI/surfaces/cards/InfoCard.mjs +1 -1
- package/dist/UI/surfaces/cards/QuickViewCard.mjs +1 -1
- package/dist/UI/surfaces/cards/chartDisplayCards/AmbientSplitStatCard.mjs +1 -1
- package/dist/UI/surfaces/cards/chartDisplayCards/AmbientVisualizationCard.mjs +1 -1
- package/dist/UI/surfaces/cards/fluentCards/FUICard.mjs +1 -1
- package/dist/UI/surfaces/cards/fluentCards/FUICardHeader.mjs +1 -1
- package/dist/UI/surfaces/cards/fluentCards/FluentCard.mjs +1 -1
- package/dist/UI/surfaces/cards/fluentCards/FluentCardActions.mjs +1 -1
- package/dist/UI/surfaces/cards/fluentCards/FluentCardContent.mjs +1 -1
- package/dist/UI/surfaces/cards/fluentCards/FluentCardHeader.mjs +1 -1
- package/dist/UI/surfaces/cards/fluentCards/FluentCardText.mjs +1 -1
- package/dist/UI/surfaces/cards/newsCard/NewsCard.mjs +1 -1
- package/dist/UI/surfaces/cards/workOrderCard/WorkOrderCard.mjs +1 -1
- package/dist/UI/surfaces/cards/workOrderCard/WorkOrderHeader.mjs +1 -1
- package/dist/UI/templates/DraggableSidebarTemplate.mjs +1 -1
- package/dist/UI/templates/OpenPage.mjs +1 -1
- package/dist/UI/templates/ToggleSection.mjs +1 -1
- package/dist/UI/templates/calendar/UdpCalendar.mjs +1 -1
- package/dist/UI/templates/calendar/UdpCalendarDayView.mjs +1 -1
- package/dist/UI/templates/calendar/UdpCalendarMonthView.mjs +1 -1
- package/dist/UI/templates/calendar/UdpCalendarWeekView.mjs +1 -1
- package/dist/UI/templates/calendar/UdpCalendarYearView.mjs +1 -1
- package/dist/UI/templates/deprecated/AmbientGridTemplate/AmbientGridTemplate.mjs +1 -1
- package/dist/UI/templates/deprecated/UdpGridTemplate/UdpGridTemplate.mjs +1 -1
- package/dist/UI/templates/newGrid/ApiMethodInstanceUdpGrid.mjs +1 -1
- package/dist/UI/templates/newGrid/BackwardsCompatibleGrid.mjs +1 -1
- package/dist/UI/templates/newGrid/ClientSideUdpGrid.mjs +1 -1
- package/dist/UI/templates/newGrid/SearchMethodUdpGrid.mjs +1 -1
- package/dist/UI/templates/newGrid/ServerSideUdpGrid.mjs +1 -1
- package/dist/UI/templates/ui/ExtenderToggle.mjs +1 -1
- package/dist/UI/templates/ui/GridGroupingHeader.mjs +1 -1
- package/dist/UI/templates/ui/GridGroupingSidebar.mjs +1 -1
- package/dist/UI/templates/ui/GridSidebarContainer.mjs +1 -1
- package/dist/UI/templates/ui/TokenGroupItem.mjs +1 -1
- package/dist/UI/templates/ui/renderers/ActionsRenderer.mjs +1 -1
- package/dist/UI/templates/ui/renderers/IconRenderer.mjs +1 -1
- package/dist/UI/templates/ui/renderers/StatusCellRenderer.mjs +1 -1
- package/dist/UI/timeline/ExtendActions.mjs +1 -1
- package/dist/UI/timeline/TimeEntryStates.mjs +1 -1
- package/dist/UI/timeline/TimeLine.mjs +1 -1
- package/dist/UI/timeline/TimelineElement.mjs +1 -1
- package/dist/UI/timeline/UdpTimeline.mjs +1 -1
- package/dist/UI/timeline/UdpTimelineContent.mjs +1 -1
- package/dist/UI/timeline/UdpTimelineDot.mjs +1 -1
- package/dist/UI/timeline/UdpTimelineItem.mjs +1 -1
- package/dist/UI/timeline/UdpTimelineItemConnector.mjs +1 -1
- package/dist/UI/timeline/UdpTimelineItemSeparator.mjs +1 -1
- package/dist/UI/timeline/fluentTimeline/FluentTimeline.mjs +1 -1
- package/dist/UI/timeline/fluentTimeline/FluentTimelineContent.mjs +1 -1
- package/dist/UI/timeline/fluentTimeline/FluentTimelineHeader.mjs +1 -1
- package/dist/UI/utilityDisplay/BulkActionsGridButton.mjs +1 -1
- package/dist/UI/utilityDisplay/ChipSection.mjs +1 -1
- package/dist/UI/utilityDisplay/Divider.mjs +1 -1
- package/dist/UI/utilityDisplay/FormControl.mjs +1 -1
- package/dist/UI/utilityDisplay/FormControlLabel.mjs +1 -1
- package/dist/UI/utilityDisplay/IndicatorChip.mjs +1 -1
- package/dist/UI/utilityDisplay/InputAdornment.mjs +1 -1
- package/dist/UI/utilityDisplay/SaveViewFormDialog.mjs +1 -1
- package/dist/UI/utilityDisplay/UtilityBar.mjs +1 -1
- package/dist/UI/utilityDisplay/UtilitySideBar.mjs +1 -1
- package/dist/UI/utilityDisplay/alerts/UdpAlert.mjs +1 -1
- package/dist/UI/utilityDisplay/alerts/UdpAlertsContainer.mjs +1 -1
- package/dist/UI/utilityDisplay/deprecated/grid/GridActionBar.mjs +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/PrimaryActionHeader.mjs +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/UtilityTabHeader.mjs +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/ui/PAHAdditionalRightComponent.mjs +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/ui/PAHAdditionalTitleComponent.mjs +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/ui/PAHExport.mjs +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/ui/TeleporterSource.mjs +1 -1
- package/dist/UI/utilityDisplay/utilityHeader/ui/teleporter.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/ChartSummaryToggle.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/FUIMenuItem.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/atoms/FluentDisplayNumbers.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/atoms/FluentStatsSnippet.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/atoms/FluentTrendArrow.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/molecules/FluentPrimaryStatNumber.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/molecules/FluentSecondaryStatNumber.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/molecules/FluentStatNumber.mjs +1 -1
- package/dist/UI/widgets/FluentComponents/molecules/FluentTimeline.mjs +1 -1
- package/dist/UI/widgets/ItemsWidgetCard.mjs +1 -1
- package/dist/UI/widgets/library/BarChartWidget/BarChartWidget.mjs +1 -1
- package/dist/UI/widgets/library/BubbleWidget/BubbleWidget.mjs +1 -1
- package/dist/UI/widgets/library/CircleGaugeWidget/CircleGaugeWidget.mjs +1 -1
- package/dist/UI/widgets/library/DateTrendWidget/DateTrendWidget.mjs +1 -1
- package/dist/UI/widgets/library/DensePlotWidget/DensePlotWidget.mjs +1 -1
- package/dist/UI/widgets/library/DonutChartWidget/DonutChartWidget.mjs +1 -1
- package/dist/UI/widgets/library/GaugeWidget/GaugeWidget.mjs +1 -1
- package/dist/UI/widgets/library/LineAndSparklinesWidget/LineAndSparklinesWidget.mjs +1 -1
- package/dist/UI/widgets/library/LineGraphWidget/LineGraphWidget.mjs +1 -1
- package/dist/UI/widgets/library/ProgressBarWidget/ProgressBarWidget.mjs +1 -1
- package/dist/UI/widgets/library/RecentlyLoadedNodesWidget/RecentlyLoadedNodesWidget.mjs +1 -1
- package/dist/UI/widgets/library/SparklineWidget/SparklineWidget.mjs +1 -1
- package/dist/UI/widgets/library/SparsePlotWidget/SparsePlotWidget.mjs +1 -1
- package/dist/UI/widgets/utils/NumberVisualization.mjs +1 -1
- package/dist/actions/ActionForm.mjs +1 -1
- package/dist/actions/ActionModal.mjs +1 -1
- package/dist/actions/ActionPanelPlacement.mjs +1 -1
- package/dist/actions/ActionSideSheet.mjs +1 -1
- package/dist/actions/ActionSpeedDial.mjs +1 -1
- package/dist/actions/ActionSplitScreen.mjs +1 -1
- package/dist/actions/ActionWrapper.mjs +1 -1
- package/dist/actions/PageActionWrapper.mjs +1 -1
- package/dist/actions/actionSummary/ActionSummaryCard.mjs +1 -1
- package/dist/actions/actionSummary/ActionSummaryHeader.mjs +1 -1
- package/dist/actions/actionSummary/ActionSummaryPopover.mjs +1 -1
- package/dist/actions/sidebar/EntitySideBarContent.mjs +1 -1
- package/dist/actions/utils/actionUtils.mjs +1 -1
- package/dist/chatBot/ChatMessage.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/HeightAdjust.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/mttMainTimeline/MttMainTimeline.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/CircleButton.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/DateWrapper.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/DynamicRangeSlider.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/MttYearTag.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/MultiDot.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/SummaryToken.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineDateBar.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineDot.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineHoverCard.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineNode.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelinePreloaderNode.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineStatus.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineToggleButton.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineTokenSummary.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineTopRowFilter.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/TimelineWrapper.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/VisualizationDot.mjs +1 -1
- package/dist/componentSystems/multiThreadTimeline/ui/modified/TimelineToken.mjs +1 -1
- package/dist/componentSystems/pageRenderer/PageRenderer.mjs +1 -1
- package/dist/componentSystems/pageRenderer/hocs/withEngineComponent.mjs +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/AgGridSimpleWrapper.mjs +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/BarChartWrapper.mjs +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/BioCardWrapper.mjs +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/DisplayCardWrapper.mjs +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/DonutWrapper.mjs +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/HistogramWrapper.mjs +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/LineGraphWrapper.mjs +1 -1
- package/dist/componentSystems/pageRenderer/wrappers/PrimaryActionHeaderWrapper.mjs +1 -1
- package/dist/containers/IframeContainer.mjs +1 -1
- package/dist/contexts/PageContext.mjs +1 -1
- package/dist/dashboard/DashboardWidget.mjs +1 -1
- package/dist/dataBrowser/forms/ParamsMappingFields.mjs +1 -1
- package/dist/dataBrowser/forms/RequiredFieldsMappingField.mjs +1 -1
- package/dist/dataBrowser/forms/RequiredFieldsMappingForm.mjs +1 -1
- package/dist/diffChecker/DiffChecker.mjs +1 -1
- package/dist/hooks/crudForeignKeyData.mjs +1 -1
- package/dist/hooks/useActions.mjs +1 -1
- package/dist/hooks/useApiCatalog.mjs +1 -1
- package/dist/hooks/useDateLocale.mjs +1 -1
- package/dist/hooks/useDynamicListCalculation.mjs +1 -1
- package/dist/hooks/useFluentIcon.mjs +1 -1
- package/dist/hooks/useItemSubCard.mjs +1 -1
- package/dist/hooks/useProductVersion.mjs +1 -1
- package/dist/hooks/usePromotedLookupMethods.mjs +1 -1
- package/dist/hooks/usePromotedMethodEntities.mjs +1 -1
- package/dist/hooks/usePromotedMethodEntity.mjs +1 -1
- package/dist/hooks/useSetLocationState.mjs +1 -1
- package/dist/hooks/useSplitDecimal.mjs +1 -1
- package/dist/hooks/useTransactionType.mjs +1 -1
- package/dist/hooks/useUdpGridFilterModel.mjs +1 -1
- package/dist/hooks/useUpdateSearchParams.mjs +1 -1
- package/dist/hooks/virtualActions.mjs +1 -1
- package/dist/index.d.ts +17 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +11 -3
- package/dist/inquiry/AlertFlag.mjs +1 -1
- package/dist/inquiry/AmbientListItem.mjs +1 -1
- package/dist/inquiry/AmbientSummaryListHeader.mjs +1 -1
- package/dist/inquiry/ExecuteApiDialog.mjs +1 -1
- package/dist/inquiry/FilterSearch.mjs +1 -1
- package/dist/inquiry/FlagBlock.mjs +1 -1
- package/dist/inquiry/Inquiry.mjs +1 -1
- package/dist/inquiry/InquiryContainer.d.ts.map +1 -1
- package/dist/inquiry/InquiryContainer.js +7 -2
- package/dist/inquiry/InquiryContainer.js.map +1 -1
- package/dist/inquiry/InquiryContainer.mjs +5 -2
- package/dist/inquiry/InquiryContainer.mjs.map +1 -1
- package/dist/inquiry/InquiryTreeMenu.mjs +1 -1
- package/dist/inquiry/InquiryWrapper.mjs +1 -1
- package/dist/inquiry/ItemDescription.mjs +1 -1
- package/dist/inquiry/NodeColumnHeader.mjs +1 -1
- package/dist/inquiry/NodeDetails.mjs +1 -1
- package/dist/inquiry/NodeList.mjs +1 -1
- package/dist/inquiry/dashboard/InquiryDashboard.mjs +1 -1
- package/dist/inquiry/dashboard/RecentlyLoadedNodesTable.mjs +1 -1
- package/dist/inquiry/inquiryBar/InquiryControlList.mjs +1 -1
- package/dist/inquiry/inquiryBar/InquiryNodeControls.mjs +1 -1
- package/dist/inquiry/search/InquiryAdvancedSearch.mjs +1 -1
- package/dist/inquiry/search/InquiryAdvancedSearchForm.mjs +1 -1
- package/dist/inquiry/search/InquirySearchContainer.mjs +1 -1
- package/dist/inquiry/search/InquirySearchTable.mjs +1 -1
- package/dist/integrations/outlook/OutlookIntegrationBanner.mjs +1 -1
- package/dist/integrations/outlook/OutlookIntegrationCallbackPage.mjs +1 -1
- package/dist/kpi/UdpKpiCard.mjs +1 -1
- package/dist/kpi/UdpKpiCards.mjs +1 -1
- package/dist/layout/GridGroup.mjs +1 -1
- package/dist/layout/GridRow.mjs +1 -1
- package/dist/layout/GridUnit.mjs +1 -1
- package/dist/layout/HeaderLayout.mjs +1 -1
- package/dist/layout/LayoutUnit.mjs +1 -1
- package/dist/layout/UdpContainer.mjs +1 -1
- package/dist/layout/templates/SideBarTemplate.mjs +1 -1
- package/dist/maintenanceEngine/crudBrowser/CrudBrowserContainer.mjs +1 -1
- package/dist/maintenanceEngine/crudBrowser/CrudTableColumnDefs.d.ts.map +1 -1
- package/dist/maintenanceEngine/crudBrowser/CrudTableColumnDefs.js +3 -3
- package/dist/maintenanceEngine/crudBrowser/CrudTableColumnDefs.js.map +1 -1
- package/dist/maintenanceEngine/crudBrowser/CrudTableColumnDefs.mjs +2 -1
- package/dist/maintenanceEngine/crudBrowser/CrudTableColumnDefs.mjs.map +1 -1
- package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.d.ts.map +1 -1
- package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.js +2 -2
- package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.js.map +1 -1
- package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.mjs +3 -2
- package/dist/maintenanceEngine/crudBrowser/CrudTableSidePanel.mjs.map +1 -1
- package/dist/maintenanceEngine/entityAttributeActions.d.ts.map +1 -1
- package/dist/maintenanceEngine/entityAttributeActions.js +2 -1
- package/dist/maintenanceEngine/entityAttributeActions.js.map +1 -1
- package/dist/maintenanceEngine/entityAttributeActions.mjs +2 -1
- package/dist/maintenanceEngine/entityAttributeActions.mjs.map +1 -1
- package/dist/maintenanceEngine/tableBrowser/TableColumnDefs.mjs +1 -1
- package/dist/maintenanceEngine/tableBrowser/TableContainer.mjs +1 -1
- package/dist/maintenanceEngine/virtualBrowser/VirtualBrowser.mjs +1 -1
- package/dist/maintenanceEngine/virtualBrowser/VirtualTableSidePanel.mjs +1 -1
- package/dist/map-library/Controls/Controls.mjs +1 -1
- package/dist/map-library/Controls/FullScreenControl.mjs +1 -1
- package/dist/map-library/Controls/ZoomControl.mjs +1 -1
- package/dist/map-library/Layers/ImageLayer.mjs +1 -1
- package/dist/map-library/Layers/Layers.mjs +1 -1
- package/dist/map-library/Layers/TileLayer.mjs +1 -1
- package/dist/map-library/Layers/VectorLayer.mjs +1 -1
- package/dist/map-library/Map/Map.mjs +1 -1
- package/dist/map-library/functions/mapFunctions.mjs +1 -1
- package/dist/map-library/geoLocation/FreeFormField.mjs +1 -1
- package/dist/map-library/ui/ControlZoom.mjs +1 -1
- package/dist/map-library/ui/FilterOptions.mjs +1 -1
- package/dist/map-library/ui/MapFilterBar.mjs +1 -1
- package/dist/map-library/ui/MapSheet.mjs +1 -1
- package/dist/map-library/ui/TileDisplay.mjs +1 -1
- package/dist/maps/GeoMap.mjs +1 -1
- package/dist/maps/leafletMaps/FluentImageMap.mjs +1 -1
- package/dist/maps/leafletMaps/FluentMap.mjs +1 -1
- package/dist/maps/leafletMaps/ui/MapMarker.mjs +1 -1
- package/dist/maps/openLayerMaps/Controls/Controls.mjs +1 -1
- package/dist/maps/openLayerMaps/Controls/FullScreenControl.mjs +1 -1
- package/dist/maps/openLayerMaps/Layers/Layers.mjs +1 -1
- package/dist/maps/openLayerMaps/Layers/TileLayer.mjs +1 -1
- package/dist/maps/openLayerMaps/Map/Map.mjs +1 -1
- package/dist/maps/openLayerMaps/ui/ControlZoom.mjs +1 -1
- package/dist/maps/openLayerMaps/ui/LocationPin.mjs +1 -1
- package/dist/maps/openLayerMaps/ui/MapControlsStandard.mjs +1 -1
- package/dist/maps/openLayerMaps/ui/Position.mjs +1 -1
- package/dist/menuPage/CustomMenuPage.mjs +1 -1
- package/dist/menuPage/MenuPage.mjs +1 -1
- package/dist/notes/NotesScreen.mjs +1 -1
- package/dist/page/Page.mjs +1 -1
- package/dist/page/PageContainer/PageContainer.mjs +1 -1
- package/dist/page/PageContent.mjs +1 -1
- package/dist/page/PageHeader.mjs +1 -1
- package/dist/page/PageSectionHeader.mjs +1 -1
- package/dist/page/PageSectionSpacer.mjs +1 -1
- package/dist/page/StaticPageRenderer.mjs +1 -1
- package/dist/providers/QueryProvider.d.ts +16 -0
- package/dist/providers/QueryProvider.d.ts.map +1 -1
- package/dist/providers/QueryProvider.js +16 -1
- package/dist/providers/QueryProvider.js.map +1 -1
- package/dist/providers/QueryProvider.mjs +20 -3
- package/dist/providers/QueryProvider.mjs.map +1 -1
- package/dist/providers/UdpAppProvider.mjs +2 -2
- package/dist/reactCompilerRuntime.d.ts +2 -0
- package/dist/reactCompilerRuntime.d.ts.map +1 -0
- package/dist/reactCompilerRuntime.js +42 -0
- package/dist/reactCompilerRuntime.js.map +1 -0
- package/dist/reactCompilerRuntime.mjs +37 -0
- package/dist/reactCompilerRuntime.mjs.map +1 -0
- package/dist/reminders/CompleteReminderSwitch.mjs +1 -1
- package/dist/reminders/RemindersCard.mjs +1 -1
- package/dist/reminders/RemindersScreen.mjs +1 -1
- package/dist/reports/PowerBIReport.mjs +1 -1
- package/dist/reports/Reports.mjs +1 -1
- package/dist/routes/PublicRoute.mjs +1 -1
- package/dist/routes/UdpRoutes.d.ts.map +1 -1
- package/dist/routes/UdpRoutes.js +4 -1
- package/dist/routes/UdpRoutes.js.map +1 -1
- package/dist/routes/UdpRoutes.mjs +108 -32
- package/dist/routes/UdpRoutes.mjs.map +1 -1
- package/dist/routes/components/PageForbiddenRoute.mjs +1 -1
- package/dist/routes/components/PageNotFoundRoute.mjs +1 -1
- package/dist/routes/components/PageStatus.mjs +1 -1
- package/dist/routes/index.mjs +2 -2
- package/dist/routes/useRegisterRoute.mjs +1 -1
- package/dist/shell/ui/AmbientProjectSwitcher.mjs +1 -1
- package/dist/shell/ui/MiniCollapsibleSidebar.mjs +1 -1
- package/dist/shell/ui/NavigationSidebar.mjs +1 -1
- package/dist/shell/ui/ShellDropdown.mjs +1 -1
- package/dist/shell/ui/SidebarCollapseButton.mjs +1 -1
- package/dist/shell/ui/SiteHeader.mjs +1 -1
- package/dist/shell/ui/SiteHeaderRightComponent.mjs +1 -1
- package/dist/shell/ui/appSwitcher/FUIAppHeader.mjs +1 -1
- package/dist/shell/ui/appSwitcher/FUIAppList.mjs +1 -1
- package/dist/shell/ui/appSwitcher/FUIAppListItem.mjs +1 -1
- package/dist/shell/ui/appSwitcher/FUIAppSwitcher.mjs +1 -1
- package/dist/shell/ui/appSwitcher/ProductAppList.mjs +1 -1
- package/dist/shell/ui/appSwitcher/ProductAppListItem.mjs +1 -1
- package/dist/shell/ui/appSwitcher/UnityApps.mjs +1 -1
- package/dist/shell/ui/profile/FluentProfileMenuCard.mjs +1 -1
- package/dist/shell/ui/profile/MenuOpener.mjs +1 -1
- package/dist/shell/ui/profile/UserAvatar.mjs +1 -1
- package/dist/shell/ui/profile/UserProfileMenuWrapper.mjs +1 -1
- package/dist/shell/ui/useBuildEnvironment.mjs +1 -1
- package/dist/shell/ui/user/PasswordValidator.mjs +1 -1
- package/dist/shell/ui/user/form/UserForm.mjs +1 -1
- package/dist/shell/ui/user/form/UserFormFields.mjs +1 -1
- package/dist/shell/ui/user/form/UserRoleAutoComplete.mjs +1 -1
- package/dist/shell/useShellVisibility.mjs +1 -1
- package/dist/shell/useWidgetRegistry.mjs +1 -1
- package/dist/stores/inquiryStore.mjs +1 -1
- package/dist/test/TestFullStencilPage.mjs +1 -1
- package/dist/udp/ShortcutContent/ListSearch.mjs +1 -1
- package/dist/udp/ShortcutContent/ShortcutContentFinder.mjs +1 -1
- package/dist/udp/export/ExportSidesheet.mjs +1 -1
- package/dist/udp/export/MyExportsPage.mjs +1 -1
- package/dist/udp/fileImportMapping/FileImportMappingWizard.mjs +1 -1
- package/dist/udp/fileImportMapping/ImportDataFromFileMapping.mjs +1 -1
- package/dist/udp/pages/ChatUDP/ChatUDP.mjs +1 -1
- package/dist/udp/pages/MyFormSubmissions/MyFormSubmissions.d.ts +4 -0
- package/dist/udp/pages/MyFormSubmissions/MyFormSubmissions.d.ts.map +1 -0
- package/dist/udp/pages/MyFormSubmissions/MyFormSubmissions.js +158 -0
- package/dist/udp/pages/MyFormSubmissions/MyFormSubmissions.js.map +1 -0
- package/dist/udp/pages/MyFormSubmissions/MyFormSubmissions.mjs +251 -0
- package/dist/udp/pages/MyFormSubmissions/MyFormSubmissions.mjs.map +1 -0
- package/dist/udp/pages/MyFormSubmissions/index.d.ts +3 -0
- package/dist/udp/pages/MyFormSubmissions/index.d.ts.map +1 -0
- package/dist/udp/pages/MyFormSubmissions/index.js +3 -0
- package/dist/udp/pages/MyFormSubmissions/index.js.map +1 -0
- package/dist/udp/pages/MyFormSubmissions/index.mjs +2 -0
- package/dist/udp/pages/UdpDataBrowserPage/UdpDataBrowserPage.mjs +1 -1
- package/dist/udp/pages/UdpFormManager/UdpFormManager.d.ts +6 -0
- package/dist/udp/pages/UdpFormManager/UdpFormManager.d.ts.map +1 -0
- package/dist/udp/pages/UdpFormManager/UdpFormManager.js +128 -0
- package/dist/udp/pages/UdpFormManager/UdpFormManager.js.map +1 -0
- package/dist/udp/pages/UdpFormManager/UdpFormManager.mjs +258 -0
- package/dist/udp/pages/UdpFormManager/UdpFormManager.mjs.map +1 -0
- package/dist/udp/pages/UdpFormManager/index.d.ts +3 -0
- package/dist/udp/pages/UdpFormManager/index.d.ts.map +1 -0
- package/dist/udp/pages/UdpFormManager/index.js +3 -0
- package/dist/udp/pages/UdpFormManager/index.js.map +1 -0
- package/dist/udp/pages/UdpFormManager/index.mjs +2 -0
- package/dist/udp/pages/UdpFormsBuilderPage/UdpFormsBuilderPage.mjs +1 -1
- package/dist/udp/pages/UdpFormsListPage/UdpFormsListPage.mjs +1 -1
- package/dist/udp/pages/UdpFormsPrivateForm/UdpFormRenderer.mjs +1 -1
- package/dist/udp/pages/UdpFormsPrivateForm/UdpPrivateForm.mjs +1 -1
- package/dist/udp/pages/UdpFormsPublicForm/UdpPublicForm.mjs +1 -1
- package/dist/udp/pages/UdpFormsSubmissionGridManagerPage/UdpFormsSubmissionGridManagerPage.mjs +1 -1
- package/dist/udp/pages/UdpFormsSubmissionGridResponderPage/UdpFormsSubmissionGridResponderPage.mjs +1 -1
- package/dist/udp/pages/UdpFormsUtils/Utils.d.ts +4 -0
- package/dist/udp/pages/UdpFormsUtils/Utils.d.ts.map +1 -1
- package/dist/udp/pages/UdpFormsUtils/Utils.js +16 -3
- package/dist/udp/pages/UdpFormsUtils/Utils.js.map +1 -1
- package/dist/udp/pages/UdpFormsUtils/Utils.mjs +18 -10
- package/dist/udp/pages/UdpFormsUtils/Utils.mjs.map +1 -1
- package/dist/udp/pages/UdpGridPanelManagementSidesheet/UdpGridPanelManagementSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpImportFromFileMappingPage/UdpImportFromFileMappingPage.mjs +1 -1
- package/dist/udp/pages/UdpInquiryMaintenanceEnginePage/UdpInquiryMaintenanceEnginePage.mjs +1 -1
- package/dist/udp/pages/UdpMaintenanceConfigPage/UdpMaintenanceConfigPage.mjs +1 -1
- package/dist/udp/pages/UdpMaintenanceEnginePage/UdpMaintenanceEnginePage.mjs +1 -1
- package/dist/udp/pages/UdpPagesLazy/index.d.ts +3 -0
- package/dist/udp/pages/UdpPagesLazy/index.d.ts.map +1 -1
- package/dist/udp/pages/UdpPagesLazy/index.js +3 -0
- package/dist/udp/pages/UdpPagesLazy/index.js.map +1 -1
- package/dist/udp/pages/UdpPagesLazy/index.mjs +3 -0
- package/dist/udp/pages/UdpPagesLazy/index.mjs.map +1 -1
- package/dist/udp/pages/UdpQuestionFormBuilderPage/UdpQuestionFormBuilderPage.d.ts +6 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/UdpQuestionFormBuilderPage.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/UdpQuestionFormBuilderPage.js +32 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/UdpQuestionFormBuilderPage.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/UdpQuestionFormBuilderPage.mjs +73 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/UdpQuestionFormBuilderPage.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/index.d.ts +3 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/index.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/index.js +3 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/index.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormBuilderPage/index.mjs +2 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/FormStructureTree.d.ts +7 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/FormStructureTree.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/FormStructureTree.js +52 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/FormStructureTree.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/FormStructureTree.mjs +109 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/FormStructureTree.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/OverviewTab.d.ts +10 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/OverviewTab.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/OverviewTab.js +373 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/OverviewTab.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/OverviewTab.mjs +943 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/OverviewTab.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionCard.d.ts +9 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionCard.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionCard.js +62 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionCard.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionCard.mjs +187 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionCard.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionViz.d.ts +6 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionViz.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionViz.js +158 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionViz.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionViz.mjs +319 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionViz.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionsTab.d.ts +9 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionsTab.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionsTab.js +255 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionsTab.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionsTab.mjs +617 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/QuestionsTab.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/SubmissionAttachmentsDrawer.d.ts +8 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/SubmissionAttachmentsDrawer.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/SubmissionAttachmentsDrawer.js +121 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/SubmissionAttachmentsDrawer.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/SubmissionAttachmentsDrawer.mjs +200 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/SubmissionAttachmentsDrawer.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/UdpQuestionFormOverviewPage.d.ts +7 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/UdpQuestionFormOverviewPage.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/UdpQuestionFormOverviewPage.js +401 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/UdpQuestionFormOverviewPage.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/UdpQuestionFormOverviewPage.mjs +452 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/UdpQuestionFormOverviewPage.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/index.d.ts +3 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/index.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/index.js +3 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/index.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/questionInsights.d.ts +120 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/questionInsights.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/questionInsights.js +461 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/questionInsights.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/questionInsights.mjs +421 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/questionInsights.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.d.ts +4 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.js +93 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.mjs +70 -0
- package/dist/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionFormRenderer.d.ts +19 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionFormRenderer.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionFormRenderer.js +45 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionFormRenderer.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionFormRenderer.mjs +104 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionFormRenderer.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionPrivateForm.d.ts +7 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionPrivateForm.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionPrivateForm.js +33 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionPrivateForm.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionPrivateForm.mjs +95 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/UdpQuestionPrivateForm.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/index.d.ts +5 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/index.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/index.js +5 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/index.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPrivateForm/index.mjs +3 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/UdpQuestionPublicForm.d.ts +20 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/UdpQuestionPublicForm.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/UdpQuestionPublicForm.js +43 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/UdpQuestionPublicForm.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/UdpQuestionPublicForm.mjs +86 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/UdpQuestionPublicForm.mjs.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/index.d.ts +3 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/index.d.ts.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/index.js +3 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/index.js.map +1 -0
- package/dist/udp/pages/UdpQuestionFormPublicForm/index.mjs +2 -0
- package/dist/udp/pages/UdpReportsPage/UdpReportsPage.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.js +30 -28
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.js.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.mjs +25 -24
- package/dist/udp/pages/UdpTransactionTypesPage/UdpTransactionTypesPage.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionAttachmentTypeForm.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeConfigurationForm.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeConfigurationTransactionActionForm.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.js +9 -9
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.js.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.mjs +7 -7
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeForm.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeStatusForm.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeTransactionActionForm.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionTypeTransactionActionFormFields.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/forms/UdpTransactionUiActionForm.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionAttachmentTypeCreateAndEditSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionAttachmentTypeSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.js +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.js.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.mjs +7 -7
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeCalendarViewConfigurationSidesheet.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationCreateAndEditSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationTransactionActionCreateAndEditSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeConfigurationTransactionActionSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypePageConfigurationSidesheet.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypePageConfigurationSidesheet.js +2 -2
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypePageConfigurationSidesheet.js.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypePageConfigurationSidesheet.mjs +20 -11
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypePageConfigurationSidesheet.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusCreateAndEditSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeStatusSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeTransactionActionCreateAndEditSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionTypeTransactionActionSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionCreateAndEditSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionTypesPage/sidesheets/UdpTransactionUiActionSidesheet.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.js +20 -14
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.js.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.mjs +83 -71
- package/dist/udp/pages/UdpTransactionsPage/UdpTransactionsPage.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/AttachmentTransactionAttachmentList.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/EditTransactionDetailsFooterItem.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionAttachment/TransactionAttachment.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionAttachment/TransactionAttachments.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionChangeLog.d.ts.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionChangeLog.js +2 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionChangeLog.js.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionChangeLog.mjs +3 -2
- package/dist/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionChangeLog.mjs.map +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionHistory/TransactionTimelineItem.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionNote/TransactionNote.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionNote/TransactionNoteForm.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/components/transactionNote/TransactionNotes.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/EditTransactionHeaderItem.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/ViewTransaction.mjs +1 -1
- package/dist/udp/pages/UdpTransactionsPage/sidesheets/WorkflowActions.mjs +1 -1
- package/dist/udp/tags/useTags.mjs +1 -1
- package/dist/udp/utilities/dateLocalizationHooks.mjs +1 -1
- package/dist/udp/utilities/useDateStringColumnDef.d.ts +1 -1
- package/dist/udp/utilities/useDateStringColumnDef.mjs +1 -1
- package/dist/utilities/aggrid/AgTable.mjs +1 -1
- package/dist/utilities/aggrid/aggridHelpers.mjs +1 -1
- package/dist/utilities/auth/AadCallback.mjs +1 -1
- package/dist/utilities/auth/AuthProviderWrapper.mjs +1 -1
- package/dist/utilities/auth/UserErrorModal.mjs +1 -1
- package/dist/utilities/auth/UserProvider.mjs +1 -1
- package/dist/utilities/auth/signInAuthProvider.d.ts.map +1 -1
- package/dist/utilities/auth/signInAuthProvider.js +24 -15
- package/dist/utilities/auth/signInAuthProvider.js.map +1 -1
- package/dist/utilities/auth/signInAuthProvider.mjs +14 -13
- package/dist/utilities/auth/signInAuthProvider.mjs.map +1 -1
- package/dist/utilities/auth/useAuthedUser.mjs +1 -1
- package/dist/utilities/auth/useSingleLogout.mjs +1 -1
- package/dist/utilities/auth/users.mjs +1 -1
- package/dist/utilities/chatBot/ChatBotProvider.mjs +1 -1
- package/dist/utilities/customIcons/ApprovalIcon.mjs +1 -1
- package/dist/utilities/customIcons/RejectIcon.mjs +1 -1
- package/dist/utilities/entities/entityUtilities.d.ts +5 -0
- package/dist/utilities/entities/entityUtilities.d.ts.map +1 -1
- package/dist/utilities/entities/entityUtilities.js +11 -0
- package/dist/utilities/entities/entityUtilities.js.map +1 -1
- package/dist/utilities/entities/entityUtilities.mjs +3 -1
- package/dist/utilities/entities/entityUtilities.mjs.map +1 -1
- package/dist/utilities/floorplanFunctions/gridVisualizationFunctions.mjs +1 -1
- package/dist/utilities/form/Field.mjs +1 -1
- package/dist/utilities/form/Form.mjs +1 -1
- package/dist/utilities/form/FormButtons.mjs +1 -1
- package/dist/utilities/form/FormError.mjs +1 -1
- package/dist/utilities/form/FormSpy.mjs +1 -1
- package/dist/utilities/form/SubmitButton.mjs +1 -1
- package/dist/utilities/form/paymentForm/AccountPayment.model.d.ts +5 -0
- package/dist/utilities/form/paymentForm/AccountPayment.model.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/BankAccountForm.d.ts +16 -29
- package/dist/utilities/form/paymentForm/BankAccountForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/BankAccountForm.js +64 -78
- package/dist/utilities/form/paymentForm/BankAccountForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/BankAccountForm.mjs +77 -196
- package/dist/utilities/form/paymentForm/BankAccountForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/CashForm.d.ts +1 -1
- package/dist/utilities/form/paymentForm/CashForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/CashForm.js +19 -51
- package/dist/utilities/form/paymentForm/CashForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/CashForm.mjs +81 -120
- package/dist/utilities/form/paymentForm/CashForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/CreditCardAdornment.mjs +1 -1
- package/dist/utilities/form/paymentForm/CreditCardForm.d.ts +14 -21
- package/dist/utilities/form/paymentForm/CreditCardForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/CreditCardForm.js +81 -87
- package/dist/utilities/form/paymentForm/CreditCardForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/CreditCardForm.mjs +84 -195
- package/dist/utilities/form/paymentForm/CreditCardForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/CreditCardUtils.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/CreditCardUtils.js +5 -0
- package/dist/utilities/form/paymentForm/CreditCardUtils.js.map +1 -1
- package/dist/utilities/form/paymentForm/CreditCardUtils.mjs +1 -0
- package/dist/utilities/form/paymentForm/CreditCardUtils.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/HostedPaymentError.d.ts +5 -16
- package/dist/utilities/form/paymentForm/HostedPaymentError.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/HostedPaymentError.js +6 -18
- package/dist/utilities/form/paymentForm/HostedPaymentError.js.map +1 -1
- package/dist/utilities/form/paymentForm/HostedPaymentError.mjs +19 -56
- package/dist/utilities/form/paymentForm/HostedPaymentError.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/NewCreditCardForm.d.ts +12 -14
- package/dist/utilities/form/paymentForm/NewCreditCardForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/NewCreditCardForm.js +45 -58
- package/dist/utilities/form/paymentForm/NewCreditCardForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/NewCreditCardForm.mjs +186 -263
- package/dist/utilities/form/paymentForm/NewCreditCardForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/NewECheckForm.d.ts +9 -14
- package/dist/utilities/form/paymentForm/NewECheckForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/NewECheckForm.js +28 -68
- package/dist/utilities/form/paymentForm/NewECheckForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/NewECheckForm.mjs +185 -228
- package/dist/utilities/form/paymentForm/NewECheckForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/PaymentBankDetails.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/PaymentBankDetails.js +4 -2
- package/dist/utilities/form/paymentForm/PaymentBankDetails.js.map +1 -1
- package/dist/utilities/form/paymentForm/PaymentCardDetail.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/PaymentCardDetail.js +4 -2
- package/dist/utilities/form/paymentForm/PaymentCardDetail.js.map +1 -1
- package/dist/utilities/form/paymentForm/PaymentForm.d.ts +67 -3
- package/dist/utilities/form/paymentForm/PaymentForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/PaymentForm.js +281 -246
- package/dist/utilities/form/paymentForm/PaymentForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/PaymentForm.mjs +296 -296
- package/dist/utilities/form/paymentForm/PaymentForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/usePaymentContext.d.ts +22 -0
- package/dist/utilities/form/paymentForm/usePaymentContext.d.ts.map +1 -0
- package/dist/utilities/form/paymentForm/usePaymentContext.js +117 -0
- package/dist/utilities/form/paymentForm/usePaymentContext.js.map +1 -0
- package/dist/utilities/form/paymentForm/usePaymentContext.mjs +119 -0
- package/dist/utilities/form/paymentForm/usePaymentContext.mjs.map +1 -0
- package/dist/utilities/form/paymentForm/usePaymentProviderForm.d.ts +1 -1
- package/dist/utilities/form/paymentForm/usePaymentProviderForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/usePaymentProviderForm.js +2 -2
- package/dist/utilities/form/paymentForm/usePaymentProviderForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/usePaymentProviderForm.mjs +16 -12
- package/dist/utilities/form/paymentForm/usePaymentProviderForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.js +22 -28
- package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.mjs +37 -32
- package/dist/utilities/form/paymentForm/vendorsForms/FiservForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.js +25 -27
- package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.mjs +40 -38
- package/dist/utilities/form/paymentForm/vendorsForms/ICheckForm.mjs.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.d.ts +4 -0
- package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.d.ts.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.js +69 -48
- package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.js.map +1 -1
- package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.mjs +85 -61
- package/dist/utilities/form/paymentForm/vendorsForms/PaymentusForm.mjs.map +1 -1
- package/dist/utilities/form/useFieldChangeListener.mjs +1 -1
- package/dist/utilities/iconLibrary/FluentIcon.mjs +1 -1
- package/dist/utilities/iconLibrary/IconLibrary.mjs +1 -1
- package/dist/utilities/iconLibrary/SelectedLibraryItem.mjs +1 -1
- package/dist/utilities/iconLibrary/SvgIcon.mjs +1 -1
- package/dist/utilities/iconLibrary/UnityFluentIcon.mjs +1 -1
- package/dist/utilities/iconLibrary/UnityIcon.mjs +1 -1
- package/dist/utilities/menus/MenuProvider.mjs +1 -1
- package/dist/utilities/page/PageSubHeaderAction.mjs +1 -1
- package/dist/utilities/search/SearchUtilities.d.ts +10 -1
- package/dist/utilities/search/SearchUtilities.d.ts.map +1 -1
- package/dist/utilities/search/SearchUtilities.js +8 -0
- package/dist/utilities/search/SearchUtilities.js.map +1 -1
- package/dist/utilities/search/SearchUtilities.mjs +5 -2
- package/dist/utilities/search/SearchUtilities.mjs.map +1 -1
- package/dist/utilities/style/ContentContainer.mjs +1 -1
- package/dist/utilities/style/verticalStyles.mjs +1 -1
- package/dist/utilities/tenant/TenantAccessDialog.mjs +1 -1
- package/dist/utilities/tenant/TenantProvider.mjs +1 -1
- package/dist/utilities/tenant/TenantSelect.mjs +1 -1
- package/dist/utilities/tenant/UdpTenantSelect.mjs +1 -1
- package/dist/utilities/theme/systemColors.mjs +1 -1
- package/dist/utilities/theme/theme.mjs +1 -1
- package/dist/utilities/transactions/useTransactionEngine.mjs +1 -1
- package/dist/utilities/uploader/FileProfile.mjs +1 -1
- package/dist/utilities/uploader/FileType.mjs +1 -1
- package/dist/utilities/uploader/FileUpload.mjs +1 -1
- package/dist/utilities/uploader/ImagePreview.mjs +1 -1
- package/dist/utilities/useApiMutation.mjs +1 -1
- package/dist/utilities/useApiQuery.mjs +90 -2
- package/dist/utilities/useApiQuery.mjs.map +1 -1
- package/dist/utilities/useDevicePixelRatio.mjs +1 -1
- package/dist/utilities/useGravatar.mjs +1 -1
- package/dist/utilities/utilityBar/InquiryHeaderControl.mjs +1 -1
- package/dist/utilities/utilityBar/InquiryHeaderSecondary.mjs +1 -1
- package/dist/utilities/utilityBar/InquiryHeaderSecondaryAlert.mjs +1 -1
- package/dist/utilities/utilityBar/InquiryHeaderTitle.mjs +1 -1
- package/dist/utilities/utilityBar/SubHeaderAction.mjs +1 -1
- package/dist/utilities/utilityBar/UtilityBarInport.mjs +1 -1
- package/dist/workflow/WorkflowContainer.mjs +1 -1
- package/dist/workflow/components/WorkflowTaskFlow.mjs +1 -1
- package/package.json +90 -46
- package/dist/test/TestStencilWrappedComponentsPage.d.ts +0 -3
- package/dist/test/TestStencilWrappedComponentsPage.d.ts.map +0 -1
- package/dist/test/TestStencilWrappedComponentsPage.js +0 -131
- package/dist/test/TestStencilWrappedComponentsPage.js.map +0 -1
- package/dist/test/TestStencilWrappedComponentsPage.mjs +0 -463
- package/dist/test/TestStencilWrappedComponentsPage.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/BankIcon.mjs +0 -56
- package/dist/utilities/form/paymentForm/BankIcon.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/CashIcon.mjs +0 -55
- package/dist/utilities/form/paymentForm/CashIcon.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/CheckIcon.mjs +0 -62
- package/dist/utilities/form/paymentForm/CheckIcon.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/CreditCardIcon.mjs +0 -85
- package/dist/utilities/form/paymentForm/CreditCardIcon.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/DisableOverlay.mjs +0 -44
- package/dist/utilities/form/paymentForm/DisableOverlay.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/PaymentBankDetails.mjs +0 -161
- package/dist/utilities/form/paymentForm/PaymentBankDetails.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/PaymentCard.d.ts +0 -13
- package/dist/utilities/form/paymentForm/PaymentCard.d.ts.map +0 -1
- package/dist/utilities/form/paymentForm/PaymentCard.js +0 -54
- package/dist/utilities/form/paymentForm/PaymentCard.js.map +0 -1
- package/dist/utilities/form/paymentForm/PaymentCard.mjs +0 -96
- package/dist/utilities/form/paymentForm/PaymentCard.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/PaymentCardDetail.mjs +0 -284
- package/dist/utilities/form/paymentForm/PaymentCardDetail.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/PaymentDropdown.mjs +0 -142
- package/dist/utilities/form/paymentForm/PaymentDropdown.mjs.map +0 -1
- package/dist/utilities/form/paymentForm/TabPanel.mjs +0 -74
- package/dist/utilities/form/paymentForm/TabPanel.mjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaymentForm.mjs","names":["React","FC","useRef","useEffect","useMemo","useState","useCallback","makeStyles","useTheme","Tabs","Tab","CardContent","Card","LinearProgress","Badge","Tooltip","Grow","Box","Typography","CircularProgress","Form","useTranslation","FluentButton","CreditCardForm","BankAccountForm","CreditCardIcon","BankIcon","CashForm","CashIcon","DisabledOverlay","CheckIcon","LayoutUnit","TabPanel","useAxiosGet","ConfigService","stringToProps","apiMutate","useUser","HostedPaymentPageSetup","IPaymentMethod","IPaymentMethodTab","PaymentDetails","PaymentVendorFactoryEnum","PaymentMethodTypeEnum","grey","PaymentAccount","useStyles","theme","palette","secondary","main","spacing","arg0","tab","color","textTransform","minWidth","width","cardFullWidth","padding","paddingZero","submitControl","marginLeft","buttonProgress","position","top","left","marginTop","dropDownPaymentsCard","assetTypeLabel","formControl","PaymentMethodProps","id","activeTab","externalId","paymentAccounts","paymentDetails","bankAccountTypes","loading","onTabChange","event","ChangeEvent","paymentMethodTab","onFormStatusChange","paymentFormResult","onSubmitCompleted","FormEvent","HTMLFormElement","result","submit","presetDataRequest","formData","paymentMethod","isHostedPayment","children","childrenPosition","actionLabel","render","paymentMethodIcons","key","ElementType","DEFAULT_ACCOUNT_TYPES","name","value","PAYMENT_METHODS","CREDIT_CARD","CASH","E_CHECK","DEBIT_CARD","getPaymentMethodIcon","paymentMethodName","isSelected","isEnabled","IconComponent","PaymentForm","classes","user","t","setValue","formRef","paymentFormStatus","setPaymentFormStatus","paymentMethodsArray","setPaymentMethodsArray","selectedHostedPayment","setSelectedHostedPayment","selectedPaymentType","setSelectedPaymentType","CreditCard","loadingProcessPayment","setLoadingProcessPayment","selectedPaymentAccount","setSelectedPaymentAccount","data","paymentMethods","loadingPaymentMethods","pgV1ApiUrl","getPaymentMethodInfo","paymentMethodID","currentTenantId","method","error","Error","message","fetchPaymentMethod","currentTenantID","paymentMethodId","fetchPaymentMethodDetails","tenantID","methodId","Promise","executePaymentPG","paymentType","requestBody","executeHostedPaymentPG","path","paymentTokenId","paymentMethodLabels","handleChange","newValue","preventDefault","selectedPaymentMethod","paymentVendorConnection","paymentVendorFactoryID","handleStatusChange","renderPaymentMethodForm","isDisabled","enabled","overlayMessage","opacity","toLowerCase","isSandBoxMode","isLiveMode","undefined","getPaymentMethodLabel","normalizedMethodName","replace","methodLabel","setPaymentMethodsEnabled","validPaymentMethods","filter","Boolean","results","allSettled","map","paymentMethodEnable","providerType","hostedPaymentPageSetup","find","x","useHostedPaymentPage","isHostedPaymentPage","providerProps","hasReadPropertiesError","readPropertiesMessageError","attributes","hostedPaymentPageConfig","customCss","customCSS","baseUrl","returnObject","status","console","filteredResults","createHostedPaymentRequest","baseRequest","vendorFactoryID","vendorRequest","Fiserv","HostedPageToken","payload","token","expiry","Expiry","ICheck","isValid","errorMessage","responseObjet","JSON","parse","ResponseData","transactionResponse","Paymentus","paymentTokenID","NameOnAccount","CardHolderName","Token","ExpiryDate","PaymentTokenId","request","PaymentVendorFactoryID","createNonHostedPaymentRequest","dataRequest","Object","assign","setCreditCardAttr","eCheck","setECheckAttr","createDataRequest","executePayment","response","expireMonth","expiryDate","split","expireYear","expirationDate","CardNumber","cardNumber","ExpirationDate","SecurityCode","cvv","routingNumber","accountNumber","submitPaymentForm","paymentResult","handleICheckPaymentFormStatus","current","height","backgroundColor","zIndex","display","alignItems","justifyContent","params","form","gap","flex","index","transformOrigin","timeout","boxSizing","background","borderWidth","borderStyle","borderColor","textAlign"],"sources":["../../../../src/utilities/form/paymentForm/PaymentForm.tsx"],"sourcesContent":["import React, { FC, useRef, useEffect, useMemo, useState, useCallback } from 'react';\nimport {\n makeStyles,\n useTheme,\n Tabs,\n Tab,\n CardContent,\n Card,\n LinearProgress,\n Badge,\n Tooltip,\n Grow\n} from '@material-ui/core';\nimport { Box } from '../../../UI/Box';\nimport { Typography } from '../../../UI/dataDisplay/typography/Typography';\nimport { CircularProgress } from '../../../UI/loading/CircularProgress';\nimport { Form } from '../Form';\nimport { useTranslation } from 'react-i18next';\nimport { FluentButton } from '../../../UI/inputs/buttons/FluentButton'\nimport { CreditCardForm } from './CreditCardForm';\nimport { BankAccountForm } from './BankAccountForm';\nimport { CreditCardIcon } from './CreditCardIcon';\nimport { BankIcon } from './BankIcon';\nimport { CashForm } from './CashForm';\nimport { CashIcon } from './CashIcon';\nimport { DisabledOverlay } from './DisableOverlay';\nimport { CheckIcon } from './CheckIcon';\nimport { LayoutUnit } from '../../../layout/LayoutUnit';\nimport { TabPanel } from './TabPanel';\nimport { useAxiosGet } from '../../useAxiosGet';\nimport { ConfigService } from '../../../configService';\nimport { stringToProps } from '../../stringUtils';\nimport { apiMutate } from '../../useAxiosMutate';\nimport { useUser } from '../../auth/useUser';\nimport { HostedPaymentPageSetup, IPaymentMethod, IPaymentMethodTab, PaymentDetails } from './AccountPayment.model';\nimport { PaymentVendorFactoryEnum } from '../../../enums/paymentVendorFactoryEnum';\nimport { PaymentMethodTypeEnum } from '../../../enums/paymentMethodTypeEnum';\nimport grey from '@material-ui/core/colors/grey';\nimport { PaymentAccount } from './PaymentAccount.model';\n\nconst useStyles = makeStyles((theme: { palette: { secondary: { main: any; }; }; spacing: (arg0: number) => any; }) => ({\n tab: {\n color: grey[800],\n '&.Mui-selected': {\n color: theme.palette.secondary.main,\n },\n textTransform: 'none',\n minWidth: 115,\n width: 115,\n },\n cardFullWidth: {\n width: \"100%\",\n minWidth: \"100%\",\n padding: 0,\n },\n paddingZero: {\n padding: 0,\n },\n submitControl: {\n marginLeft: '50px',\n },\n buttonProgress: {\n color: theme.palette.secondary.main,\n position: 'absolute',\n top: '50%',\n left: '50%',\n marginTop: -12,\n marginLeft: -12,\n },\n dropDownPaymentsCard: {\n padding: '20px 12px 0px 12px',\n },\n assetTypeLabel: {\n top: theme.spacing(-0.7),\n },\n formControl: {\n width: '100%',\n marginTop: '-15px',\n },\n}));\n\nexport interface PaymentMethodProps {\n id: string;\n activeTab?: number;\n externalId?: string | number;\n paymentAccounts?: any[];\n paymentDetails: PaymentDetails;\n bankAccountTypes?: any[];\n loading: boolean;\n onTabChange: (event: React.ChangeEvent<{}>, paymentMethodTab: any) => void;\n onFormStatusChange?: (paymentFormResult: any) => void;\n onSubmitCompleted?: (event: React.FormEvent<HTMLFormElement>, result: any) => void;\n submit?: (event: React.FormEvent<HTMLFormElement>) => void;\n presetDataRequest: (formData: any, paymentMethod: any, isHostedPayment: boolean) => any;\n children?: any;\n childrenPosition?: \"before\" | \"after\" | \"outside\";\n actionLabel?: string;\n render?: any;\n}\n\n/** paymentMethodIcons @type {*} */\nconst paymentMethodIcons: { [key: string]: React.ElementType } = {\n 'Credit Card': CreditCardIcon,\n 'Cash': CashIcon,\n 'eCheck': BankIcon,\n 'Debit Card': CheckIcon,\n};\n\nconst DEFAULT_ACCOUNT_TYPES = [\n { name: 'Checking', value: 'checking' },\n { name: 'Savings', value: 'savings' },\n];\n\nconst PAYMENT_METHODS = {\n CREDIT_CARD: 'credit card',\n CASH: 'cash',\n E_CHECK: 'echeck',\n DEBIT_CARD: 'debit card'\n};\n\n/**\n * getPaymentMethodIcon\n *\n * @param {string} paymentMethodName\n * @param {boolean} isSelected\n * @param {boolean} isEnabled\n * @param {*} theme\n * @return {*}\n */\nconst getPaymentMethodIcon = (paymentMethodName: string, isSelected: boolean, isEnabled: boolean, theme: any): any => {\n // Determine the icon color based on the selection and enablement status\n const color = isEnabled ? (isSelected ? theme.palette.secondary.main : grey[800]) : grey[400];\n\n // Find the corresponding icon component from the mapping\n const IconComponent = paymentMethodIcons[paymentMethodName];\n\n // Return null if no matching icon is found (unknown payment method)\n if (!IconComponent) return null;\n\n return (\n <Badge color=\"secondary\" badgeContent={!isEnabled ? \"!\" : null}>\n <IconComponent color={color} />\n </Badge>\n );\n};\n\n/**\n * PaymentForm Component\n *\n * This component provides a user interface for selecting and handling different payment methods.\n * It allows users to switch between available payment methods using tabs and handles the form submission process.\n * Each payment method has its own form component that is displayed based on the selected tab.\n *\n * Props:\n * @param {PaymentMethodProps} props - Object containing the following properties:\n * @param {string} id - Unique identifier for the payment form.\n * @param {number} [activeTab=0] - The index of the currently active tab. Defaults to 0. [OPTIONAL]\n * @param {any[]} [paymentAccounts] - Array of payment accounts associated with the user. [OPTIONAL]\n * @param {PaymentDetails} paymentDetails - Object containing details about the customer's payment information.\n * @param {any[]} [bankAccountTypes=DEFAULT_ACCOUNT_TYPES] - Array of available bank account types, with a default value.\n * @param {boolean} loading - Boolean flag indicating if asynchronous operations like data fetching are in progress.\n * @param {Function} onTabChange - Function to be called when the active tab changes.\n * @param {Function} [onFormStatusChange] - Optional function to handle status changes during form interactions.\n * @param {Function} [onSubmitCompleted] - Optional function to be called upon successful form submission.\n * @param {Function} presetDataRequest - Function to prepare the data request for payment processing.\n * @param {Function} [submit] - Optional function to be called on form submission.\n * @param {any} [children] - Optional elements to be rendered inside the form.\n * @param {\"before\" | \"after\" | \"outside\"} [childrenPosition=\"before\"] - Position of the children elements relative to the form.\n * @param {string} [actionLabel] - Optional label for the form action button.\n * @param {any} [render] - Optional render function for custom rendering inside the component.\n *\n * Usage:\n * The component renders tabs to switch between different payment methods and handles form interactions\n * for submitting payments. It integrates with Material-UI components to render the form and uses React hooks\n * for managing state, such as the currently active tab and form interaction data.\n *\n * The component uses the `useMemo` hook to optimize rendering performance and to handle the memoization of\n * computed payment fields. It ensures that the form submission process is smooth, even for hosted payments.\n *\n * Each payment method form (e.g., CreditCardForm, eCheckForm, etc.) is conditionally rendered based on the\n * currently selected payment method, ensuring a consistent user experience.\n *\n * Example:\n * <PaymentForm\n * id=\"paymentForm\"\n * activeTab={0}\n * paymentAccounts={accounts}\n * paymentDetails={paymentDetails}\n * bankAccountTypes={accountTypes}\n * loading={isLoading}\n * onTabChange={handleTabChange}\n * onFormStatusChange={handleStatusChange}\n * presetDataRequest={createDataRequest}\n * onSubmitCompleted={handleSubmitCompleted}\n * actionLabel=\"Enter Card Details\"\n * submit={handleSubmit}\n * />\n *\n * Note:\n * This component should be used within a React environment that supports hooks and functional components.\n * It relies on Material-UI for UI components and theming.\n */\nexport const PaymentForm: FC<PaymentMethodProps> = ({\n id,\n activeTab = 0,\n externalId,\n paymentAccounts,\n paymentDetails,\n bankAccountTypes = DEFAULT_ACCOUNT_TYPES,\n loading,\n presetDataRequest,\n onTabChange,\n onFormStatusChange,\n onSubmitCompleted,\n submit,\n children,\n childrenPosition = \"before\",\n actionLabel,\n render\n}: any): any => {\n const classes = useStyles();\n const theme = useTheme();\n const user = useUser();\n const { t } = useTranslation();\n const [value, setValue] = useState(activeTab);\n const formRef = useRef<any>(null);\n\n const [paymentFormStatus, setPaymentFormStatus] = useState<any>(null);\n const [paymentMethodsArray, setPaymentMethodsArray] = useState<IPaymentMethodTab[]>();\n const [selectedHostedPayment, setSelectedHostedPayment] = useState<PaymentVendorFactoryEnum | null>(null);\n const [selectedPaymentType, setSelectedPaymentType] = useState(PaymentMethodTypeEnum.CreditCard);\n const [loadingProcessPayment, setLoadingProcessPayment] = useState<boolean>(false);\n const [selectedPaymentAccount, setSelectedPaymentAccount] = useState<PaymentAccount | null>(null);\n\n // #region [API Calls]\n\n /**\n * API call to get the payment accounts (Credit cards, Bank accounts) associated with the account\n */\n const [{ data: paymentMethods, loading: loadingPaymentMethods }]: any =\n useAxiosGet(ConfigService.pgV1ApiUrl, `PaymentMethod`, {}, false);\n\n /**\n * API call to get the payment method information and determine if the payment method is enabled or not\n *\n * @param {*} paymentMethodID : Credit card: 4001, Bank account: 4002, eCheck: 4004\n * @return {*}\n */\n const getPaymentMethodInfo = useCallback(\n async (paymentMethodID: string | number) => {\n if (!paymentMethodID || !user?.currentTenantId) {\n return;\n }\n\n try {\n const result = await apiMutate(\n ConfigService.pgV1ApiUrl,\n `AppPaymentVendor/PaymentMethod/${paymentMethodID}`,\n {\n method: 'GET',\n },\n {}\n );\n\n return result;\n } catch (error: any) {\n throw new Error(`Error getting payment method info: ${error?.message}`);\n }\n },\n [user]\n );\n\n /**\n * API call to fetchPaymentMethod\n *\n * @param {string} currentTenantID\n * @param {string} paymentMethodId\n * @return {*}\n */\n const fetchPaymentMethod = useCallback(\n async (currentTenantID: string, paymentMethodId: string | number) => {\n if (!currentTenantID || !paymentMethodId) {\n return null;\n }\n\n return apiMutate(\n ConfigService.pgV1ApiUrl,\n `AppPaymentVendor/PaymentMethod/${paymentMethodId}`,\n {\n method: 'GET',\n },\n {}\n );\n },\n []\n );\n\n /**\n * fetchPaymentMethodDetails\n *\n * @param {*} tenantID\n * @param {*} methodId\n * @return {*}\n */\n const fetchPaymentMethodDetails = useCallback(\n async (tenantID: any, methodId: any): Promise<any> => {\n const result = await fetchPaymentMethod(tenantID, methodId);\n const paymentMethod = result?.data;\n\n if (!paymentMethod) {\n throw new Error(`${t('Payment method configuration not found')}: ${methodId}`);\n }\n\n return paymentMethod;\n },\n [fetchPaymentMethod]\n );\n\n /**\n * executePaymentPG\n *\n * @param {string} paymentType\n * @param {any} requestBody\n * @return {*}\n */\n const executePaymentPG = useCallback(\n async (paymentType: string, requestBody: any) => {\n if (!paymentType || !requestBody) {\n return null;\n }\n\n return apiMutate(\n ConfigService.pgV1ApiUrl,\n `ProcessPayment/${paymentType}`,\n {\n method: 'POST',\n data: requestBody,\n },\n {}\n );\n },\n []\n );\n\n /**\n * executeHostedPaymentPG\n *\n * @param {string} paymentType\n * @param {any} requestBody\n * @return {*}\n */\n const executeHostedPaymentPG = useCallback(\n async (paymentType: string, requestBody: any) => {\n if (!paymentType || !requestBody) {\n return null;\n }\n\n const path = requestBody?.paymentTokenId ?\n `ProcessPayment/${paymentType}Profile` :\n `ProcessHostedPaymentPagePayment/${paymentType}`;\n\n return apiMutate(\n ConfigService.pgV1ApiUrl,\n path,\n {\n method: 'POST',\n data: requestBody,\n },\n {}\n );\n },\n []\n );\n\n // #endregion\n\n // #region [Methods]\n\n const paymentMethodLabels: { [key: string]: string } = useMemo(() => ({\n \"creditcard\": t(\"Credit Card\"),\n \"debitcard\": t(\"Debit Card\"),\n \"echeck\": t(\"eCheck\"),\n \"check\": t(\"Check\"),\n \"cash\": t(\"Cash\")\n }), [t]);\n\n /**\n * handleChange\n *\n * @param {React.ChangeEvent<{}>} event\n * @param {number} newValue\n */\n const handleChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n event.preventDefault();\n\n setValue(newValue);\n\n const selectedPaymentMethod = paymentMethodsArray?.[newValue];\n\n // Set selected payment method and hosted payment type\n setSelectedHostedPayment(selectedPaymentMethod?.paymentVendorConnection?.paymentVendorFactoryID as PaymentVendorFactoryEnum | null);\n setSelectedPaymentType(selectedPaymentMethod?.paymentMethodID as PaymentMethodTypeEnum);\n\n onTabChange(event, selectedPaymentMethod);\n };\n\n const handleStatusChange = (paymentFormStatus: any): void => {\n setPaymentFormStatus(paymentFormStatus);\n onFormStatusChange?.(paymentFormStatus);\n }\n\n /**\n * useCallback()\n * renderPaymentMethodForm\n *\n * @param {any} method\n * @return {*}\n */\n const renderPaymentMethodForm = useCallback((method: any) => {\n const isDisabled = !method.enabled;\n const overlayMessage = t(\"This Payment method is currently unavailable\");\n\n return (\n <div style={{ position: 'relative' }}>\n {isDisabled && <DisabledOverlay message={overlayMessage} />}\n <div style={{ opacity: isDisabled ? 0.5 : 1 }}>\n {method?.name?.toLowerCase() === PAYMENT_METHODS.CREDIT_CARD && <CreditCardForm onStatusChange={handleStatusChange} paymentDetails={paymentDetails} externalId={externalId} setSelectedPaymentAccount={setSelectedPaymentAccount} actionLabel={actionLabel} {...method} />}\n {method?.name?.toLowerCase() === PAYMENT_METHODS.CASH && <CashForm onStatusChange={handleStatusChange} paymentDetails={paymentDetails} {...method} />}\n {method?.name?.toLowerCase() === PAYMENT_METHODS.E_CHECK && <BankAccountForm bankAccountTypes={bankAccountTypes} onStatusChange={handleStatusChange} paymentDetails={paymentDetails} externalId={externalId} setSelectedPaymentAccount={setSelectedPaymentAccount} actionLabel={actionLabel} {...method} />}\n {method?.name?.toLowerCase() === PAYMENT_METHODS.DEBIT_CARD && <CreditCardForm onStatusChange={handleStatusChange} paymentDetails={paymentDetails} {...method} />} {/*TODO:; Implement Debit Card Form */}\n </div>\n </div>\n );\n }, [paymentDetails, bankAccountTypes]);\n\n /**\n * isLiveMode\n *\n * @return {*}\n */\n const isSandBoxMode = useMemo(() => {\n const isLiveMode = (paymentMethodsArray?.[value]?.paymentVendorConnection?.isLiveMode)\n\n if (isLiveMode === undefined) {\n return false;\n }\n\n return !isLiveMode;\n }, [paymentMethodsArray, value]);\n\n /**\n * getPaymentMethodLabel\n *\n * @param {*} method\n * @return {*}\n */\n const getPaymentMethodLabel = (method: { name: string; }) => {\n const normalizedMethodName = method?.name?.toLowerCase().replace(/\\s+/g, '') || '';\n const methodLabel = paymentMethodLabels?.[normalizedMethodName as keyof typeof paymentMethodLabels] || method.name;\n\n return methodLabel;\n }\n\n /**\n * setPaymentMethodsEnabled\n * take every paymentMethod (eCheck, credit card, etc) and verify if the payment methods are enabled or not\n * @return {*}\n */\n const setPaymentMethodsEnabled = useCallback(async () => {\n // Filter out any falsy paymentMethod values first\n const validPaymentMethods = paymentMethods?.filter(Boolean);\n\n // Use Promise.allSettled to handle both fulfilled and rejected promises\n const results = await Promise.allSettled(\n validPaymentMethods?.map(async (paymentMethod: IPaymentMethod) => {\n try {\n const paymentMethodEnable = await getPaymentMethodInfo(\n paymentMethod.paymentMethodID\n );\n const paymentVendorConnection =\n paymentMethodEnable?.data?.paymentVendorConnection || null;\n const providerType =\n paymentVendorConnection?.paymentVendorFactoryID as PaymentVendorFactoryEnum | null;\n const hostedPaymentPageSetup =\n paymentVendorConnection?.hostedPaymentPageSetup.find(\n (x: HostedPaymentPageSetup) => x.useHostedPaymentPage\n ) || null;\n const isHostedPaymentPage =\n hostedPaymentPageSetup?.useHostedPaymentPage || false;\n\n let providerProps = {};\n let hasReadPropertiesError = false;\n let readPropertiesMessageError = null;\n\n if (isHostedPaymentPage) {\n const { error, attributes } = stringToProps(\n hostedPaymentPageSetup?.hostedPaymentPageConfig\n );\n\n providerProps = {\n customCss: hostedPaymentPageSetup?.customCSS,\n attributes,\n ...(attributes?.baseUrl\n ? { baseUrl: attributes?.baseUrl }\n : null),\n };\n\n hasReadPropertiesError = error ? true : false;\n readPropertiesMessageError = error;\n }\n\n // Initialize returnObject with common properties\n let returnObject: any = {\n paymentMethodID: paymentMethod.paymentMethodID,\n name: paymentMethod.name,\n enabled: paymentMethodEnable?.status === 200,\n data:\n paymentMethodEnable?.status === 200\n ? paymentMethodEnable.data\n : null,\n paymentVendorConnection,\n isHostedPaymentPage,\n providerType,\n providerProps,\n hasReadPropertiesError,\n readPropertiesMessageError,\n };\n\n return returnObject;\n } catch (error) {\n console.error(\n `Error fetching payment method info for ${paymentMethod?.paymentMethodID}:`,\n error\n );\n return null;\n }\n })\n );\n\n // Filter out null results in case of errors\n const filteredResults = results\n .filter(result => result.status === 'fulfilled' && result.value !== null)\n .map((result: any) => result.value) || null;\n\n setPaymentMethodsArray(filteredResults as IPaymentMethodTab[]);\n setSelectedHostedPayment(filteredResults?.find((x: IPaymentMethodTab) => x.enabled)?.providerType || null);\n\n }, [paymentMethods]);\n\n /**\n * createHostedPaymentRequest\n *\n * @param {*} baseRequest\n * @param {*} paymentMethod\n * @return {*}\n */\n const createHostedPaymentRequest = useCallback(\n (baseRequest: any, paymentMethod: any, paymentMethodId: string | number, selectedPaymentAccount: PaymentAccount | null): any => {\n const vendorFactoryID =\n paymentMethod.paymentVendorConnection?.paymentVendorFactoryID;\n let vendorRequest = {};\n\n switch (vendorFactoryID) {\n case PaymentVendorFactoryEnum.Fiserv:\n vendorRequest = {\n HostedPageToken:\n paymentFormStatus?.payload?.token ||\n paymentFormStatus?.payload?.message,\n ...(paymentFormStatus?.payload?.expiry && {\n Expiry: paymentFormStatus?.payload?.expiry,\n }),\n };\n break;\n case PaymentVendorFactoryEnum.ICheck:\n if (!paymentFormStatus?.isValid) {\n throw new Error(\n `${t('Payment error. Please check the form and try again')} ${paymentFormStatus?.errorMessage}`\n );\n }\n const responseObjet = JSON.parse(paymentFormStatus?.payload);\n\n vendorRequest = {\n ResponseData: responseObjet?.transactionResponse,\n };\n break;\n case PaymentVendorFactoryEnum.Paymentus:\n const paymentTokenId = selectedPaymentAccount ? selectedPaymentAccount?.paymentTokenID : null;\n\n /* Paymentus uses a PaymentTokenId like an a Payment Account */\n vendorRequest = {\n NameOnAccount: paymentFormStatus?.payload?.CardHolderName,\n HostedPageToken: paymentFormStatus?.payload?.Token,\n ...(paymentFormStatus?.payload?.ExpiryDate && {\n Expiry: paymentFormStatus?.payload?.ExpiryDate,\n }),\n ...(paymentTokenId && { PaymentTokenId: paymentTokenId }),\n };\n break;\n default:\n break;\n }\n const request = {\n ...baseRequest,\n PaymentVendorFactoryID: vendorFactoryID,\n ...vendorRequest,\n };\n\n return request;\n },\n [paymentFormStatus]\n );\n\n /**\n * createNonHostedPaymentRequest\n *\n * @param {*} baseRequest\n * @param {*} formData\n * @return {*}\n */\n const createNonHostedPaymentRequest = useCallback(\n (baseRequest: any, formData: any): any => {\n let dataRequest = { ...baseRequest };\n\n if (selectedPaymentType === PaymentMethodTypeEnum.CreditCard) {\n Object.assign(dataRequest, setCreditCardAttr(formData));\n } else if (selectedPaymentType === PaymentMethodTypeEnum.eCheck) {\n Object.assign(dataRequest, setECheckAttr(formData));\n }\n return dataRequest;\n },\n [selectedPaymentType]\n );\n\n /**\n * createDataRequest\n *\n * @param {*} formData\n * @param {*} paymentMethod\n * @param {*} isHostedPayment\n * @return {*}\n */\n const createDataRequest = useCallback(\n (formData: any, paymentMethod: any, isHostedPayment: any, paymentMethodId: string | number, selectedPaymentAccount: PaymentAccount | null): any => {\n const baseRequest = presetDataRequest(formData, paymentMethod, isHostedPayment);\n\n return isHostedPayment\n ? createHostedPaymentRequest(baseRequest, paymentMethod, paymentMethodId, selectedPaymentAccount)\n : createNonHostedPaymentRequest(baseRequest, formData);\n },\n [paymentFormStatus, user, presetDataRequest, paymentDetails, selectedPaymentType]\n );\n\n /**\n * executePayment\n * Executes the payment process based on the payment method and request data.\n *\n * @param {*} paymentMethodId The ID of the payment method.\n * @param {*} dataRequest The request data for the payment.\n * @param {boolean} isHostedPayment Indicates if the payment is a hosted payment.\n * @return {*} The result of the payment execution.\n */\n const executePayment = useCallback(\n async (\n paymentMethodId: any,\n dataRequest: any,\n isHostedPayment: boolean\n ): Promise<any> => {\n if (!paymentMethodId || !dataRequest) {\n throw new Error(\n t('Invalid payment data')\n );\n }\n if (typeof isHostedPayment !== 'boolean') {\n throw new Error(\n t('Invalid hosted payment flag')\n );\n }\n\n const paymentMethodName = PaymentMethodTypeEnum?.[paymentMethodId];\n\n if (!paymentMethodName) {\n throw new Error(\n t('Unknown payment method') +\n `: ${paymentMethodId}`\n );\n }\n\n const response = isHostedPayment\n ? await executeHostedPaymentPG(paymentMethodName, dataRequest)\n : await executePaymentPG(paymentMethodName, dataRequest);\n\n return response?.data || null;\n },\n [executePaymentPG, executeHostedPaymentPG]\n );\n\n /**\n * setCreditCardAttr\n *\n * @param {*} formData\n * @param {string} currentTenantID\n * @param {IPaymentMethod} paymentMethod\n * @return {*}\n */\n const setCreditCardAttr = (formData: any) => {\n const expireMonth = formData.expiryDate.split('/')?.[0];\n const expireYear = formData.expiryDate.split('/')?.[1];\n const expirationDate = `20${expireYear}-${expireMonth}-01`;\n\n return {\n CardNumber: formData.cardNumber.replace(/\\s/g, ''),\n ExpirationDate: expirationDate,\n SecurityCode: formData.cvv,\n };\n };\n\n /**\n * setECheckAttr\n * @param {*} formData\n */\n const setECheckAttr = (formData: any) => ({\n routingNumber: formData.routingNumber.replace(/\\s/g, ''),\n accountNumber: formData.accountNumber.replace(/\\s/g, ''),\n });\n\n // #endregion\n\n // #region [Submit]\n\n /**\n * submitPaymentForm\n * Processes the payment form submission.\n * @param {*} formData The form data.\n */\n const submitPaymentForm = useCallback(\n async (formData: any): Promise<void> => {\n if (!formData) return;\n\n setLoadingProcessPayment(true);\n\n const currentTenantID = user?.currentTenantId;\n const paymentMethodId = selectedPaymentType;\n\n if (!currentTenantID || !paymentMethodId) {\n onSubmitCompleted?.(null, { error: true });\n }\n\n try {\n const paymentMethod = await fetchPaymentMethodDetails(\n currentTenantID,\n paymentMethodId\n );\n const isHostedPayment =\n paymentMethod.paymentVendorConnection?.hostedPaymentPageSetup?.[0]\n ?.useHostedPaymentPage || false;\n\n const dataRequest = createDataRequest(\n formData,\n paymentMethod,\n isHostedPayment,\n paymentMethodId,\n selectedPaymentAccount\n );\n\n const paymentResult = await executePayment(\n paymentMethodId,\n dataRequest,\n isHostedPayment\n );\n\n onSubmitCompleted?.(formData, paymentResult);\n\n } catch (error: any) {\n throw new Error(\"Error processing payment: \" + error?.message);\n } finally {\n setLoadingProcessPayment(false);\n }\n },\n [paymentFormStatus, createDataRequest, selectedPaymentType, user, selectedPaymentAccount]\n );\n\n /**\n * Handles the form submission for iCheck payments.\n *\n * This function checks if the selected payment method is `ECheck` (electronic check)\n * from the `PaymentVendorFactoryEnum`. If it is, and the form reference (`formRef`) exists\n * and is currently mounted in the component, it programmatically triggers the form submission.\n *\n */\n const handleICheckPaymentFormStatus = useCallback(() => {\n if (paymentFormStatus?.selectedHostedPayment === PaymentVendorFactoryEnum.ICheck ||\n paymentFormStatus?.selectedHostedPayment === PaymentVendorFactoryEnum.Paymentus && formRef?.current) {\n formRef.current?.submit();\n }\n }, [paymentFormStatus]);\n\n // #endregion\n\n // #region [Effects]\n\n useEffect(() => {\n setPaymentMethodsEnabled();\n }, [paymentMethods]);\n\n useEffect(() => {\n onFormStatusChange?.(paymentFormStatus);\n handleICheckPaymentFormStatus();\n }, [paymentFormStatus]);\n\n // #endregion\n\n return (\n <>\n {loadingProcessPayment && (\n <Box\n sx={{\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n backgroundColor: 'rgba(255, 255, 255, 0.8)',\n zIndex: 9999,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <CircularProgress size=\"3rem\" color=\"primary\" />\n </Box>\n )}\n\n <Form\n id={id}\n onSubmit={submitPaymentForm}\n autocomplete=\"off\"\n render={(params: any) => {\n formRef.current = params?.form;\n return (\n <>\n <Box\n display=\"flex\"\n flexDirection=\"column\"\n style={{ gap: '10px', flex: 1 }}>\n\n {childrenPosition === \"before\" && children}\n\n <Box display=\"flex\" flexDirection=\"column\" padding=\"0\">\n <Tabs value={value} onChange={handleChange} aria-label={t(\"(payment method tabs\")}>\n {paymentMethodsArray?.map((method: any, index: number) => (\n // @ts-ignore\n <Tooltip key={method.paymentMethodID} title={!method.enabled ? t(\"This Payment method is currently unavailable\") : \"\"}>\n <Tab\n key={method.paymentMethodID}\n //@ts-ignore\n icon={getPaymentMethodIcon(method.name, value === index, method.enabled, theme)}\n label={getPaymentMethodLabel(method)}\n aria-label={getPaymentMethodLabel(method)}\n className={classes.tab}\n //disabled={!method.enabled}\n />\n </Tooltip>\n ))}\n </Tabs>\n\n <Card className={classes.cardFullWidth}>\n <CardContent className={classes.paddingZero}>\n {(loading || loadingPaymentMethods) && <LinearProgress />}\n <Grow\n in={isSandBoxMode}\n style={{ transformOrigin: '0 0 0', display: isSandBoxMode ? 'flex' : 'none' }}\n {...(true ? { timeout: 800 } : {})}\n >\n <Box\n display=\"flex\"\n flexDirection=\"row\"\n justifyContent=\"space-between\"\n alignItems=\"center\"\n style={{\n gap: '8px',\n boxSizing: 'border-box',\n background: '#FFF2CD',\n borderWidth: '1px 0px',\n borderStyle: 'solid',\n borderColor: 'rgba(0, 0, 0, 0.12)',\n padding: '10px',\n }}\n >\n <Typography\n variant=\"subtitle2\"\n style={{ width: '100%', textAlign: 'center' }}\n >\n {t('You are currently in test mode using a Sandbox account')}\n </Typography>\n </Box>\n </Grow>\n\n <LayoutUnit unit=\"xxs\" />\n\n {paymentMethodsArray?.map((method: any, index: number) => (\n // @ts-ignore\n <TabPanel value={value} index={index} key={method.paymentMethodID}>\n {renderPaymentMethodForm(method)}\n </TabPanel>\n ))}\n {\n submit &&\n <FluentButton variant=\"contained\" color=\"secondary\" disabled={false} type=\"submit\" className={classes.submitControl}>\n {loading && <CircularProgress size={24} className={classes.buttonProgress} />}\n <Typography>{t('Save')}</Typography>\n </FluentButton>\n }\n </CardContent>\n </Card>\n </Box>\n\n {childrenPosition === \"after\" && children}\n {typeof render === 'function' ? render(params) : render}\n </Box>\n\n {childrenPosition === \"outside\" && children}\n </>\n );\n }}\n />\n </>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PaymentForm.mjs","names":["React","FC","useRef","useEffect","useMemo","useState","useCallback","Form","useTranslation","UdpFlexbox","UdpButton","UdpProgressBar","UdpMessageBar","UdpRadioGroup","UdpTablist","CreditCardForm","BankAccountForm","CashForm","ConfigService","apiMutate","useUser","IPaymentMethodTab","PaymentDetails","PaymentVendorFactoryEnum","PaymentMethodTypeEnum","PaymentAccount","usePaymentContext","PaymentMethodProps","id","activeTab","externalId","paymentAccounts","paymentDetails","bankAccountTypes","loading","onTabChange","event","ChangeEvent","paymentMethodTab","onFormStatusChange","paymentFormResult","onSubmitCompleted","FormEvent","HTMLFormElement","result","submit","presetDataRequest","formData","paymentMethod","isHostedPayment","children","ReactNode","childrenPosition","actionLabel","render","params","showSandboxBanner","s2sToken","s2sTenantId","refreshS2sToken","Promise","allowSavePaymentMethod","methodPicker","actionsStart","onSubmittingChange","submitting","onReadyChange","ready","DEFAULT_ACCOUNT_TYPES","name","value","PAYMENT_METHODS","CREDIT_CARD","CASH","E_CHECK","DEBIT_CARD","PaymentForm","user","t","setValue","formRef","methodBoxRef","HTMLDivElement","methodBoxReleaseTimer","freezeMethodBoxHeight","box","current","style","minHeight","offsetHeight","window","clearTimeout","setTimeout","s2sTokenRef","paymentFormStatus","setPaymentFormStatus","setSelectedHostedPayment","selectedPaymentType","setSelectedPaymentType","CreditCard","loadingProcessPayment","setLoadingProcessPayment","selectedPaymentAccount","setSelectedPaymentAccount","methods","paymentMethodsArray","isLoading","loadingPaymentMethods","fetchPaymentMethod","currentTenantID","paymentMethodId","token","path","config","method","headers","Authorization","currentTenantId","pgV1ApiUrl","fetchPaymentMethodDetails","tenantID","methodId","data","Error","executePaymentPG","paymentType","requestBody","body","executeHostedPaymentPG","console","log","basePath","paymentTokenId","paymentMethodLabels","key","handleChange","newValue","selectedPaymentMethod","enabledMethods","paymentVendorConnection","paymentVendorFactoryID","paymentMethodID","handleStatusChange","renderPaymentMethodForm","isFormDisabled","toLowerCase","undefined","String","filter","m","enabled","activeMethod","isSandBoxMode","isLiveMode","isAutoSubmitHostedMethod","isHostedPaymentPage","providerType","ICheck","Paymentus","length","getPaymentMethodLabel","normalizedMethodName","replace","methodLabel","createHostedPaymentRequest","baseRequest","vendorFactoryID","vendorRequest","Fiserv","HostedPageToken","payload","message","expiry","Expiry","isValid","errorMessage","responseObjet","JSON","parse","ResponseData","transactionResponse","paymentTokenID","NameOnAccount","CardHolderName","Token","ExpiryDate","PaymentTokenId","request","PaymentVendorFactoryID","createNonHostedPaymentRequest","dataRequest","Object","assign","setCreditCardAttr","eCheck","setECheckAttr","createDataRequest","executePayment","paymentMethodName","response","expireMonth","expiryDate","split","expireYear","expirationDate","CardNumber","cardNumber","ExpirationDate","SecurityCode","cvv","routingNumber","accountNumber","submitPaymentForm","freshToken","error","warn","retryOnAuthError","call","T","status","hostedPaymentPageSetup","useHostedPaymentPage","paymentResult","handleICheckPaymentFormStatus","vendor","selectedHostedPayment","isAutoSubmitVendor","firstEnabled","find","isReadyToSubmit","form","hasMultipleMethods","hasNoMethods","isSubmitting","Boolean","map","label","e","CustomEvent","detail","nextIdx","findIndex","target"],"sources":["../../../../src/utilities/form/paymentForm/PaymentForm.tsx"],"sourcesContent":["import React, { FC, useRef, useEffect, useMemo, useState, useCallback } from 'react';\nimport { Form } from '../Form';\nimport { useTranslation } from 'react-i18next';\nimport { UdpFlexbox } from '../../../UI/fluent-web-components/UdpFlexbox';\nimport { UdpButton } from '../../../UI/fluent-web-components/UdpButton';\nimport { UdpProgressBar } from '../../../UI/fluent-web-components/UdpProgressBar';\nimport { UdpMessageBar } from '../../../UI/fluent-web-components/UdpMessageBar';\nimport { UdpRadioGroup } from '../../../UI/fluent-web-components/UdpRadioGroup';\nimport { UdpTablist } from '../../../UI/fluent-web-components/UdpTablist';\nimport { CreditCardForm } from './CreditCardForm';\nimport { BankAccountForm } from './BankAccountForm';\nimport { CashForm } from './CashForm';\nimport { ConfigService } from '../../../configService';\nimport { apiMutate } from '../../useAxiosMutate';\nimport { useUser } from '../../auth/useUser';\nimport { IPaymentMethodTab, PaymentDetails } from './AccountPayment.model';\nimport { PaymentVendorFactoryEnum } from '../../../enums/paymentVendorFactoryEnum';\nimport { PaymentMethodTypeEnum } from '../../../enums/paymentMethodTypeEnum';\nimport { PaymentAccount } from './PaymentAccount.model';\nimport { usePaymentContext } from './usePaymentContext';\n\nexport interface PaymentMethodProps {\n id: string;\n activeTab?: number;\n externalId?: string | number;\n /**\n * Currently unused at this level — kept for API compatibility with V1 and\n * existing back-office consumers that already pass it.\n *\n * NOTE: not to be confused with the `paymentAccounts` variable inside\n * `CreditCardForm` / `BankAccountForm`, which is the locally fetched\n * saved-tokens list and is unrelated to this prop.\n */\n paymentAccounts?: any[];\n paymentDetails: PaymentDetails;\n bankAccountTypes?: any[];\n loading: boolean;\n onTabChange: (event: React.ChangeEvent<{}>, paymentMethodTab: any) => void;\n onFormStatusChange?: (paymentFormResult: any) => void;\n onSubmitCompleted?: (event: React.FormEvent<HTMLFormElement> | null, result: any) => void;\n submit?: (event: React.FormEvent<HTMLFormElement>) => void;\n presetDataRequest: (formData: any, paymentMethod: any, isHostedPayment: boolean) => any;\n children?: React.ReactNode;\n childrenPosition?: \"before\" | \"after\" | \"outside\";\n actionLabel?: string;\n render?: React.ReactNode | ((params: any) => React.ReactNode);\n /**\n * Whether to show the \"Sandbox / test mode\" banner when the active payment\n * vendor connection is in non-live mode. Defaults to `true` to preserve the\n * behaviour back-office consumers rely on. Payer-facing flows (e.g. the\n * standalone invoice page) should pass `false`.\n */\n showSandboxBanner?: boolean;\n /**\n * S2S bearer token obtained by the consuming application via Unity Keeper.\n * When present the component operates in S2S mode: all Payment Portal API\n * calls use the `/S2S` endpoint variants and this token as the Authorization\n * header instead of the Unity user session token.\n */\n s2sToken?: string;\n /** Tenant ID required alongside `s2sToken` for S2S mode API calls. */\n s2sTenantId?: string;\n /**\n * Called at the start of submit to obtain a fresh S2S token. Payment-link\n * tokens can be very short-lived (observed TTL: 60s), so a token minted at\n * page load is often already expired by the time the payer submits. When\n * provided, the returned token is used for the submit-path API calls;\n * on failure the existing token is kept as a fallback.\n */\n refreshS2sToken?: () => Promise<string | undefined>;\n /**\n * Whether the manual entry forms (card, eCheck) offer the \"save this\n * method\" checkbox. Defaults to `true` for account-connected flows.\n * Guest/standalone flows (e.g. the invoice payment link) should pass\n * `false` — there is no user account to save the method to.\n */\n allowSavePaymentMethod?: boolean;\n /**\n * Visual style of the payment-method picker shown when more than one\n * method is enabled. Defaults to 'radio'.\n */\n methodPicker?: 'radio' | 'tabs';\n /**\n * Rendered at the start of the action row, before the submit button.\n * Lets hosts (e.g. a stepper) place secondary actions like \"Back\" in the\n * same row as the pay button instead of a second, disconnected button row.\n */\n actionsStart?: React.ReactNode;\n /**\n * Notifies the host when payment processing starts (true) and settles\n * (false). Lets an external submit button — connected via the form\n * registry (`<UdpButton type=\"submit\" form={id}>`) when no `submit` prop\n * is passed — mirror the internal button's loading/disabled behaviour.\n */\n onSubmittingChange?: (submitting: boolean) => void;\n /**\n * Notifies the host whether a submit can currently succeed — false while\n * method discovery is in flight, when no payable method exists, or in\n * hosted-iframe mode until the vendor iframe reports a token. Lets an\n * external submit button mirror the internal button's disabled state.\n */\n onReadyChange?: (ready: boolean) => void;\n}\n\nconst DEFAULT_ACCOUNT_TYPES = [\n { name: 'Checking', value: 'checking' },\n { name: 'Savings', value: 'savings' },\n];\n\nconst PAYMENT_METHODS = {\n CREDIT_CARD: 'credit card',\n CASH: 'cash',\n E_CHECK: 'echeck',\n DEBIT_CARD: 'debit card'\n};\n\n/**\n * PaymentForm Component\n *\n * This component provides a user interface for selecting and handling different payment methods.\n * It allows users to switch between available payment methods using tabs and handles the form submission process.\n * Each payment method has its own form component that is displayed based on the selected tab.\n *\n * Props:\n * @param {PaymentMethodProps} props - Object containing the following properties:\n * @param {string} id - Unique identifier for the payment form.\n * @param {number} [activeTab=0] - The index of the currently active tab. Defaults to 0. [OPTIONAL]\n * @param {any[]} [paymentAccounts] - Array of payment accounts associated with the user. [OPTIONAL]\n * @param {PaymentDetails} paymentDetails - Object containing details about the customer's payment information.\n * @param {any[]} [bankAccountTypes=DEFAULT_ACCOUNT_TYPES] - Array of available bank account types, with a default value.\n * @param {boolean} loading - Boolean flag indicating if asynchronous operations like data fetching are in progress.\n * @param {Function} onTabChange - Function to be called when the active tab changes.\n * @param {Function} [onFormStatusChange] - Optional function to handle status changes during form interactions.\n * @param {Function} [onSubmitCompleted] - Optional function to be called upon successful form submission.\n * @param {Function} presetDataRequest - Function to prepare the data request for payment processing.\n * @param {Function} [submit] - Optional function to be called on form submission.\n * @param {any} [children] - Optional elements to be rendered inside the form.\n * @param {\"before\" | \"after\" | \"outside\"} [childrenPosition=\"before\"] - Position of the children elements relative to the form.\n * @param {string} [actionLabel] - Optional label for the form action button.\n * @param {any} [render] - Optional render function for custom rendering inside the component.\n *\n * Usage:\n * The component renders tabs to switch between different payment methods and handles form interactions\n * for submitting payments. It integrates with Material-UI components to render the form and uses React hooks\n * for managing state, such as the currently active tab and form interaction data.\n *\n * The component uses the `useMemo` hook to optimize rendering performance and to handle the memoization of\n * computed payment fields. It ensures that the form submission process is smooth, even for hosted payments.\n *\n * Each payment method form (e.g., CreditCardForm, eCheckForm, etc.) is conditionally rendered based on the\n * currently selected payment method, ensuring a consistent user experience.\n *\n * Example:\n * <PaymentForm\n * id=\"paymentForm\"\n * activeTab={0}\n * paymentAccounts={accounts}\n * paymentDetails={paymentDetails}\n * bankAccountTypes={accountTypes}\n * loading={isLoading}\n * onTabChange={handleTabChange}\n * onFormStatusChange={handleStatusChange}\n * presetDataRequest={createDataRequest}\n * onSubmitCompleted={handleSubmitCompleted}\n * actionLabel=\"Enter Card Details\"\n * submit={handleSubmit}\n * />\n *\n * Note:\n * This component should be used within a React environment that supports hooks and functional components.\n * It relies on Material-UI for UI components and theming.\n */\nexport const PaymentForm: FC<PaymentMethodProps> = ({\n id,\n activeTab = 0,\n externalId,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n paymentAccounts,\n paymentDetails,\n bankAccountTypes = DEFAULT_ACCOUNT_TYPES,\n loading,\n presetDataRequest,\n onTabChange,\n onFormStatusChange,\n onSubmitCompleted,\n submit,\n children,\n childrenPosition = \"before\",\n actionLabel,\n render,\n showSandboxBanner = true,\n s2sToken,\n s2sTenantId,\n refreshS2sToken,\n allowSavePaymentMethod = true,\n methodPicker = 'radio',\n actionsStart,\n onSubmittingChange,\n onReadyChange,\n}) => {\n const user = useUser();\n const { t } = useTranslation();\n const [value, setValue] = useState(activeTab);\n const formRef = useRef<any>(null);\n const methodBoxRef = useRef<HTMLDivElement | null>(null);\n const methodBoxReleaseTimer = useRef<number | null>(null);\n /**\n * Freeze the method-form area's current height while switching methods.\n * The outgoing form unmounts synchronously but the incoming form's web\n * components hydrate asynchronously, so the area collapses to ~zero height\n * for a few frames. Inside a scroll container that collapse clamps the\n * scroll position (the page appears to jump to the top). Holding the\n * previous height through the swap keeps the scroll position stable.\n */\n const freezeMethodBoxHeight = () => {\n const box = methodBoxRef.current;\n if (!box) return;\n box.style.minHeight = `${box.offsetHeight}px`;\n if (methodBoxReleaseTimer.current) {\n window.clearTimeout(methodBoxReleaseTimer.current);\n }\n methodBoxReleaseTimer.current = window.setTimeout(() => {\n box.style.minHeight = '';\n methodBoxReleaseTimer.current = null;\n }, 400);\n };\n\n useEffect(\n () => () => {\n if (methodBoxReleaseTimer.current) {\n window.clearTimeout(methodBoxReleaseTimer.current);\n }\n },\n []\n );\n\n // Submit-path calls read the token through this ref so refreshS2sToken can\n // swap in a fresh one mid-submit without waiting for a re-render.\n const s2sTokenRef = useRef<string | undefined>(s2sToken);\n useEffect(() => {\n s2sTokenRef.current = s2sToken;\n }, [s2sToken]);\n\n const [paymentFormStatus, setPaymentFormStatus] = useState<any>(null);\n const [, setSelectedHostedPayment] = useState<PaymentVendorFactoryEnum | null>(null);\n const [selectedPaymentType, setSelectedPaymentType] = useState(PaymentMethodTypeEnum.CreditCard);\n const [loadingProcessPayment, setLoadingProcessPayment] = useState<boolean>(false);\n const [selectedPaymentAccount, setSelectedPaymentAccount] = useState<PaymentAccount | null>(null);\n\n // #region [API Calls]\n\n /**\n * Discovery: resolved list of payment methods + vendor/hosted-page info.\n * When the backend ships a single payment-context endpoint, replace the\n * usePaymentContext implementation — no other change in this file is needed.\n */\n const { methods: paymentMethodsArray, isLoading: loadingPaymentMethods } = usePaymentContext(s2sToken, s2sTenantId);\n\n /**\n * API call to fetchPaymentMethod\n *\n * @param {string} currentTenantID\n * @param {string} paymentMethodId\n * @return {*}\n */\n const fetchPaymentMethod = useCallback(\n async (currentTenantID: string, paymentMethodId: string | number) => {\n if (!currentTenantID || !paymentMethodId) {\n return null;\n }\n\n const token = s2sTokenRef.current;\n const path = token\n ? `AppPaymentVendor/PaymentMethod/${paymentMethodId}/S2S`\n : `AppPaymentVendor/PaymentMethod/${paymentMethodId}`;\n const config = token\n ? { method: 'GET', headers: { Authorization: `Bearer ${token}`, currentTenantId: s2sTenantId } }\n : { method: 'GET' };\n return apiMutate(ConfigService.pgV1ApiUrl, path, config, {});\n },\n [s2sTenantId]\n );\n\n /**\n * fetchPaymentMethodDetails\n *\n * @param {*} tenantID\n * @param {*} methodId\n * @return {*}\n */\n const fetchPaymentMethodDetails = useCallback(\n async (tenantID: any, methodId: any): Promise<any> => {\n const result = await fetchPaymentMethod(tenantID, methodId);\n const paymentMethod = result?.data;\n\n if (!paymentMethod) {\n throw new Error(`${t('Payment method configuration not found')}: ${methodId}`);\n }\n\n return paymentMethod;\n },\n [fetchPaymentMethod]\n );\n\n /**\n * executePaymentPG\n *\n * @param {string} paymentType\n * @param {any} requestBody\n * @return {*}\n */\n const executePaymentPG = useCallback(\n async (paymentType: string, requestBody: any) => {\n if (!paymentType || !requestBody) {\n return null;\n }\n\n const token = s2sTokenRef.current;\n const path = token\n ? `ProcessPayment/${paymentType}/S2S`\n : `ProcessPayment/${paymentType}`;\n const body = requestBody as unknown;\n const config = token\n ? { method: 'POST', data: body, headers: { Authorization: `Bearer ${token}`, currentTenantId: s2sTenantId } }\n : { method: 'POST', data: body };\n\n return apiMutate(ConfigService.pgV1ApiUrl, path, config, {});\n },\n [s2sTenantId]\n );\n\n /**\n * executeHostedPaymentPG\n *\n * @param {string} paymentType\n * @param {any} requestBody\n * @return {*}\n */\n const executeHostedPaymentPG = useCallback(\n async (paymentType: string, requestBody: any) => {\n\n console.log('executeHostedPaymentPG started')\n\n if (!paymentType || !requestBody) {\n return null;\n }\n const body = requestBody as unknown;\n const token = s2sTokenRef.current;\n const basePath = (requestBody as { paymentTokenId?: unknown })?.paymentTokenId\n ? `ProcessPayment/${paymentType}Profile`\n : `ProcessHostedPaymentPagePayment/${paymentType}`;\n const path = token ? `${basePath}/S2S` : basePath;\n\n console.log(`this is the path: ${path}`);\n console.log(body);\n\n return apiMutate(\n ConfigService.pgV1ApiUrl,\n path,\n token\n ? { method: 'POST', data: body, headers: { Authorization: `Bearer ${token}`, currentTenantId: s2sTenantId } }\n : { method: 'POST', data: body },\n {}\n );\n },\n [s2sTenantId]\n );\n\n // #endregion\n\n // #region [Methods]\n\n const paymentMethodLabels: { [key: string]: string } = useMemo(() => ({\n \"creditcard\": t(\"Credit Card\"),\n \"debitcard\": t(\"Debit Card\"),\n \"echeck\": t(\"eCheck\"),\n \"check\": t(\"Check\"),\n \"cash\": t(\"Cash\")\n }), [t]);\n\n /**\n * handleChange\n *\n * @param {React.ChangeEvent<{}>} event\n * @param {number} newValue\n */\n /**\n * Update the active method by index into the enabled list.\n * `event` is forwarded to `onTabChange` for back-compat with consumers that\n * expected the legacy MUI tab-change signature.\n */\n const handleChange = (event: React.ChangeEvent<any>, newValue: number) => {\n freezeMethodBoxHeight();\n setValue(newValue);\n\n const selectedPaymentMethod = enabledMethods?.[newValue];\n\n setSelectedHostedPayment(\n selectedPaymentMethod?.paymentVendorConnection?.paymentVendorFactoryID as PaymentVendorFactoryEnum | null\n );\n setSelectedPaymentType(selectedPaymentMethod?.paymentMethodID as PaymentMethodTypeEnum);\n\n onTabChange(event, selectedPaymentMethod);\n };\n\n // onFormStatusChange is fired by the useEffect on `paymentFormStatus` below;\n // do NOT also call it here or consumers receive the same status twice per change.\n const handleStatusChange = (paymentFormStatus: any): void => {\n setPaymentFormStatus(paymentFormStatus);\n };\n\n /**\n * Render the form for the currently-selected method. The picker only ever\n * surfaces enabled methods, so no disabled-overlay branch is needed.\n *\n * @param method the active payment method\n * @param isFormDisabled when true, locks every input in the rendered form.\n * Driven by RFF `submitting` + our own\n * `loadingProcessPayment` so the user can't change\n * values mid-submit.\n */\n const renderPaymentMethodForm = useCallback((method: any, isFormDisabled: boolean) => {\n const name = method?.name?.toLowerCase();\n\n if (name === PAYMENT_METHODS.CREDIT_CARD) {\n return (\n <CreditCardForm\n onStatusChange={handleStatusChange}\n paymentDetails={paymentDetails}\n externalId={externalId !== undefined ? String(externalId) : undefined}\n setSelectedPaymentAccount={setSelectedPaymentAccount}\n actionLabel={actionLabel}\n isFormDisabled={isFormDisabled}\n allowSaveMethod={allowSavePaymentMethod}\n s2sToken={s2sToken}\n s2sTenantId={s2sTenantId}\n {...method}\n />\n );\n }\n if (name === PAYMENT_METHODS.CASH) {\n return (\n <CashForm\n onStatusChange={handleStatusChange}\n paymentDetails={paymentDetails}\n isFormDisabled={isFormDisabled}\n {...method}\n />\n );\n }\n if (name === PAYMENT_METHODS.E_CHECK) {\n return (\n <BankAccountForm\n bankAccountTypes={bankAccountTypes}\n onStatusChange={handleStatusChange}\n paymentDetails={paymentDetails}\n externalId={externalId !== undefined ? String(externalId) : undefined}\n setSelectedPaymentAccount={setSelectedPaymentAccount}\n actionLabel={actionLabel}\n isFormDisabled={isFormDisabled}\n allowSaveMethod={allowSavePaymentMethod}\n s2sToken={s2sToken}\n s2sTenantId={s2sTenantId}\n {...method}\n />\n );\n }\n if (name === PAYMENT_METHODS.DEBIT_CARD) {\n // TODO: Implement Debit Card form. Falls back to CreditCardForm until then.\n return (\n <CreditCardForm\n onStatusChange={handleStatusChange}\n paymentDetails={paymentDetails}\n isFormDisabled={isFormDisabled}\n allowSaveMethod={allowSavePaymentMethod}\n s2sToken={s2sToken}\n s2sTenantId={s2sTenantId}\n {...method}\n />\n );\n }\n return null;\n }, [paymentDetails, bankAccountTypes, externalId, actionLabel, allowSavePaymentMethod, s2sToken, s2sTenantId]);\n\n /**\n * Enabled (configured) methods only. Unconfigured methods are hidden from the\n * picker entirely — today's behaviour of \"show a disabled tab with a !\n * badge\" was confusing and inaccessible.\n */\n const enabledMethods = useMemo<IPaymentMethodTab[]>(\n () => paymentMethodsArray?.filter((m) => m.enabled) ?? [],\n [paymentMethodsArray]\n );\n\n const activeMethod = enabledMethods[value] ?? enabledMethods[0];\n\n /**\n * Sandbox mode for the currently-selected method's vendor connection.\n */\n const isSandBoxMode = useMemo(() => {\n const isLiveMode = activeMethod?.paymentVendorConnection?.isLiveMode;\n return isLiveMode === false;\n }, [activeMethod]);\n\n /**\n * ICheck and Paymentus both render their own submit button inside the\n * hosted iframe and auto-submit this form once the iframe posts back a\n * token (see handleICheckPaymentFormStatus below) — our own submit button\n * would just be a confusing second button. Fiserv's hosted iframe has no\n * button of its own, so it still needs ours.\n */\n const isAutoSubmitHostedMethod =\n activeMethod?.isHostedPaymentPage === true &&\n (activeMethod?.providerType === PaymentVendorFactoryEnum.ICheck ||\n activeMethod?.providerType === PaymentVendorFactoryEnum.Paymentus);\n\n // Clamp `value` if the enabled-methods list shrinks (e.g. discovery\n // returned fewer methods than expected).\n useEffect(() => {\n if (enabledMethods.length === 0) return;\n if (value >= enabledMethods.length) {\n setValue(0);\n }\n }, [enabledMethods.length, value]);\n\n /**\n * getPaymentMethodLabel\n *\n * @param {*} method\n * @return {*}\n */\n const getPaymentMethodLabel = (method: { name: string; }) => {\n const normalizedMethodName = method?.name?.toLowerCase().replace(/\\s+/g, '') || '';\n const methodLabel = paymentMethodLabels?.[normalizedMethodName as keyof typeof paymentMethodLabels] || method.name;\n\n return methodLabel;\n };\n\n /**\n * createHostedPaymentRequest\n *\n * @param {*} baseRequest\n * @param {*} paymentMethod\n * @return {*}\n */\n const createHostedPaymentRequest = useCallback(\n (baseRequest: any, paymentMethod: any, paymentMethodId: string | number, selectedPaymentAccount: PaymentAccount | null): any => {\n const vendorFactoryID =\n paymentMethod.paymentVendorConnection?.paymentVendorFactoryID;\n let vendorRequest = {};\n\n switch (vendorFactoryID) {\n case PaymentVendorFactoryEnum.Fiserv:\n vendorRequest = {\n HostedPageToken:\n paymentFormStatus?.payload?.token ||\n paymentFormStatus?.payload?.message,\n ...(paymentFormStatus?.payload?.expiry && {\n Expiry: paymentFormStatus?.payload?.expiry,\n }),\n };\n break;\n case PaymentVendorFactoryEnum.ICheck:\n if (!paymentFormStatus?.isValid) {\n throw new Error(\n `${t('Payment error. Please check the form and try again')} ${paymentFormStatus?.errorMessage}`\n );\n }\n const responseObjet = JSON.parse(paymentFormStatus?.payload);\n\n vendorRequest = {\n ResponseData: responseObjet?.transactionResponse,\n };\n break;\n case PaymentVendorFactoryEnum.Paymentus:\n const paymentTokenId = selectedPaymentAccount ? selectedPaymentAccount?.paymentTokenID : null;\n\n /* Paymentus uses a PaymentTokenId like an a Payment Account */\n vendorRequest = {\n NameOnAccount: paymentFormStatus?.payload?.CardHolderName,\n HostedPageToken: paymentFormStatus?.payload?.Token,\n ...(paymentFormStatus?.payload?.ExpiryDate && {\n Expiry: paymentFormStatus?.payload?.ExpiryDate,\n }),\n ...(paymentTokenId && { PaymentTokenId: paymentTokenId }),\n };\n break;\n default:\n break;\n }\n const request = {\n ...baseRequest,\n PaymentVendorFactoryID: vendorFactoryID,\n ...vendorRequest,\n };\n\n return request;\n },\n [paymentFormStatus]\n );\n\n /**\n * createNonHostedPaymentRequest\n *\n * @param {*} baseRequest\n * @param {*} formData\n * @return {*}\n */\n const createNonHostedPaymentRequest = useCallback(\n (baseRequest: any, formData: any): any => {\n let dataRequest = { ...baseRequest };\n\n if (selectedPaymentType === PaymentMethodTypeEnum.CreditCard) {\n Object.assign(dataRequest, setCreditCardAttr(formData));\n } else if (selectedPaymentType === PaymentMethodTypeEnum.eCheck) {\n Object.assign(dataRequest, setECheckAttr(formData));\n }\n return dataRequest;\n },\n [selectedPaymentType]\n );\n\n /**\n * createDataRequest\n *\n * @param {*} formData\n * @param {*} paymentMethod\n * @param {*} isHostedPayment\n * @return {*}\n */\n const createDataRequest = useCallback(\n (formData: any, paymentMethod: any, isHostedPayment: any, paymentMethodId: string | number, selectedPaymentAccount: PaymentAccount | null): any => {\n const baseRequest = presetDataRequest(formData, paymentMethod, isHostedPayment);\n\n return isHostedPayment\n ? createHostedPaymentRequest(baseRequest, paymentMethod, paymentMethodId, selectedPaymentAccount)\n : createNonHostedPaymentRequest(baseRequest, formData);\n },\n [paymentFormStatus, user, presetDataRequest, paymentDetails, selectedPaymentType]\n );\n\n /**\n * executePayment\n * Executes the payment process based on the payment method and request data.\n *\n * @param {*} paymentMethodId The ID of the payment method.\n * @param {*} dataRequest The request data for the payment.\n * @param {boolean} isHostedPayment Indicates if the payment is a hosted payment.\n * @return {*} The result of the payment execution.\n */\n const executePayment = useCallback(\n async (\n paymentMethodId: any,\n dataRequest: any,\n isHostedPayment: boolean\n ): Promise<any> => {\n if (!paymentMethodId || !dataRequest) {\n throw new Error(\n t('Invalid payment data')\n );\n }\n if (typeof isHostedPayment !== 'boolean') {\n throw new Error(\n t('Invalid hosted payment flag')\n );\n }\n\n console.log(`execute payment start`);\n // console.log(body);\n\n const paymentMethodName = PaymentMethodTypeEnum?.[paymentMethodId];\n\n if (!paymentMethodName) {\n throw new Error(\n t('Unknown payment method') +\n `: ${paymentMethodId}`\n );\n }\n\n const response = isHostedPayment\n ? await executeHostedPaymentPG(paymentMethodName, dataRequest)\n : await executePaymentPG(paymentMethodName, dataRequest);\n\n return response?.data || null;\n },\n [executePaymentPG, executeHostedPaymentPG]\n );\n\n /**\n * setCreditCardAttr\n *\n * @param {*} formData\n * @param {string} currentTenantID\n * @param {IPaymentMethod} paymentMethod\n * @return {*}\n */\n const setCreditCardAttr = (formData: any) => {\n const expireMonth = formData.expiryDate.split('/')?.[0];\n const expireYear = formData.expiryDate.split('/')?.[1];\n const expirationDate = `20${expireYear}-${expireMonth}-01`;\n\n return {\n CardNumber: formData.cardNumber.replace(/\\s/g, ''),\n ExpirationDate: expirationDate,\n SecurityCode: formData.cvv,\n };\n };\n\n /**\n * setECheckAttr\n * @param {*} formData\n */\n const setECheckAttr = (formData: any) => ({\n routingNumber: formData.routingNumber.replace(/\\s/g, ''),\n accountNumber: formData.accountNumber.replace(/\\s/g, ''),\n });\n\n // #endregion\n\n // #region [Submit]\n\n /**\n * submitPaymentForm\n * Processes the payment form submission.\n * @param {*} formData The form data.\n */\n const submitPaymentForm = useCallback(\n async (formData: any): Promise<void> => {\n if (!formData) return;\n\n // Discovery still in flight or returned no payable methods — no method\n // fields are mounted yet, so nothing validated and formData is empty.\n // The internal button is disabled in this window, but external\n // form-registry submit buttons can still land here.\n if (loadingPaymentMethods || enabledMethods.length === 0) return;\n\n setLoadingProcessPayment(true);\n\n // Payment-link tokens can expire between page load and submit; re-mint\n // when the host provides a way to. Failure keeps the existing token.\n if (refreshS2sToken) {\n try {\n const freshToken = await refreshS2sToken();\n if (freshToken) {\n s2sTokenRef.current = freshToken;\n }\n } catch (error) {\n console.warn('refreshS2sToken failed; submitting with the existing token', error);\n }\n }\n\n // Reactive backstop to the proactive refresh above: when a call is\n // rejected with a 403 (how the Payment Portal reports an expired S2S\n // token), re-mint the token and re-issue that call once. Never retries\n // other statuses — a 500 from ProcessPayment is a real error and may\n // mean the charge already went through.\n const retryOnAuthError = async <T,>(call: () => Promise<T>): Promise<T> => {\n try {\n return await call();\n } catch (error: any) {\n if (!refreshS2sToken || error?.response?.status !== 403) throw error;\n let freshToken: string | undefined;\n try {\n freshToken = await refreshS2sToken();\n } catch {\n throw error;\n }\n if (!freshToken) throw error;\n s2sTokenRef.current = freshToken;\n return call();\n }\n };\n\n const currentTenantID = s2sTokenRef.current ? s2sTenantId : user?.currentTenantId;\n const paymentMethodId = selectedPaymentType;\n\n if (!currentTenantID || !paymentMethodId) {\n onSubmitCompleted?.(null, {\n error: true,\n message: 'Missing tenant ID or payment method ID',\n });\n setLoadingProcessPayment(false);\n return;\n }\n\n console.log('started exectute payment');\n\n try {\n const paymentMethod = await retryOnAuthError(() =>\n fetchPaymentMethodDetails(currentTenantID, paymentMethodId)\n );\n const isHostedPayment =\n paymentMethod.paymentVendorConnection?.hostedPaymentPageSetup?.[0]\n ?.useHostedPaymentPage || false;\n\n const dataRequest = createDataRequest(\n formData,\n paymentMethod,\n isHostedPayment,\n paymentMethodId,\n selectedPaymentAccount\n );\n\n const paymentResult = await retryOnAuthError(() =>\n executePayment(paymentMethodId, dataRequest, isHostedPayment)\n );\n\n onSubmitCompleted?.(formData, paymentResult);\n\n } catch (error: any) {\n // Route failures through onSubmitCompleted so consumers can react\n // (previous behaviour threw from an async event handler -> unhandled rejection).\n console.error('Error processing payment:', error);\n onSubmitCompleted?.(formData, {\n error: true,\n message: error?.message ?? 'Error processing payment',\n });\n } finally {\n setLoadingProcessPayment(false);\n }\n },\n [createDataRequest, selectedPaymentType, user, selectedPaymentAccount, s2sTenantId, refreshS2sToken, executePayment, fetchPaymentMethodDetails, onSubmitCompleted, loadingPaymentMethods, enabledMethods]\n );\n\n /**\n * Handles the form submission for iCheck payments.\n *\n * This function checks if the selected payment method is `ECheck` (electronic check)\n * from the `PaymentVendorFactoryEnum`. If it is, and the form reference (`formRef`) exists\n * and is currently mounted in the component, it programmatically triggers the form submission.\n *\n */\n const handleICheckPaymentFormStatus = useCallback(() => {\n const vendor = paymentFormStatus?.selectedHostedPayment;\n const isAutoSubmitVendor =\n vendor === PaymentVendorFactoryEnum.ICheck ||\n vendor === PaymentVendorFactoryEnum.Paymentus;\n\n if (isAutoSubmitVendor && formRef?.current) {\n formRef.current.submit();\n }\n }, [paymentFormStatus]);\n\n // #endregion\n\n // #region [Effects]\n\n // Default the selected vendor to the first enabled method once discovery\n // completes. Matches the previous behaviour from setPaymentMethodsEnabled.\n useEffect(() => {\n if (!paymentMethodsArray) return;\n const firstEnabled = paymentMethodsArray.find((m) => m.enabled);\n setSelectedHostedPayment(firstEnabled?.providerType ?? null);\n }, [paymentMethodsArray]);\n\n useEffect(() => {\n onFormStatusChange?.(paymentFormStatus);\n handleICheckPaymentFormStatus();\n }, [paymentFormStatus]);\n\n // onSubmittingChange is intentionally omitted from deps; consumers may pass\n // unstable references and we only want to fire when the window changes.\n useEffect(() => {\n onSubmittingChange?.(loadingProcessPayment);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [loadingProcessPayment]);\n\n // Mirrors the internal submit button's disabled conditions so hosts with\n // external submit buttons can gate them identically. Callback omitted from\n // deps for the same unstable-reference reason as above.\n const isReadyToSubmit =\n !loadingPaymentMethods &&\n enabledMethods.length > 0 &&\n paymentFormStatus?.isValid !== false;\n\n useEffect(() => {\n onReadyChange?.(isReadyToSubmit);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isReadyToSubmit]);\n\n // #endregion\n\n return (\n <>\n <Form\n id={id}\n onSubmit={submitPaymentForm}\n render={(params: any) => {\n formRef.current = params?.form;\n\n const hasMultipleMethods = enabledMethods.length > 1;\n // Discovery has completed and there are no enabled methods.\n const hasNoMethods =\n paymentMethodsArray !== undefined &&\n enabledMethods.length === 0 &&\n !loadingPaymentMethods;\n // RFF `submitting` flips while the Promise returned from\n // submitPaymentForm is in flight. loadingProcessPayment is our own\n // signal for the same window. Either way, lock the UI so the user\n // can't change values or switch methods mid-submit.\n const isSubmitting = Boolean(params?.submitting) || loadingProcessPayment;\n\n return (\n <>\n <UdpFlexbox direction=\"column\" gap=\"md\" wrap=\"nowrap\">\n {childrenPosition === \"before\" && children}\n\n {(loading || loadingPaymentMethods) && <UdpProgressBar />}\n\n {hasNoMethods && (\n <UdpMessageBar intent=\"error\">\n {t(\"No payment methods are available for this account\")}\n </UdpMessageBar>\n )}\n\n {showSandboxBanner && isSandBoxMode && (\n <UdpMessageBar intent=\"warning\">\n {t(\"You are currently in test mode using a Sandbox account\")}\n </UdpMessageBar>\n )}\n\n {hasMultipleMethods && methodPicker === 'tabs' && (\n <UdpTablist\n size=\"small\"\n disabled={isSubmitting}\n activeId={String(activeMethod?.paymentMethodID ?? '')}\n tabList={enabledMethods.map((m) => ({\n id: String(m.paymentMethodID),\n label: getPaymentMethodLabel(m),\n }))}\n onTabChange={(e: CustomEvent<string | number>) => {\n const id = String(e.detail);\n const nextIdx = enabledMethods.findIndex(\n (m) => String(m.paymentMethodID) === id\n );\n if (nextIdx >= 0) {\n handleChange(e as unknown as React.ChangeEvent<any>, nextIdx);\n }\n }}\n />\n )}\n\n {hasMultipleMethods && methodPicker === 'radio' && (\n <UdpRadioGroup\n label={t(\"Payment method\")}\n name=\"paymentMethod\"\n disabled={isSubmitting}\n includeErrorPadding={false}\n value={String(activeMethod?.paymentMethodID ?? '')}\n items={enabledMethods.map((m) => ({\n label: getPaymentMethodLabel(m),\n value: String(m.paymentMethodID),\n }))}\n onChange={(e) => {\n const id = e.target.value;\n const nextIdx = enabledMethods.findIndex(\n (m) => String(m.paymentMethodID) === id\n );\n if (nextIdx >= 0) {\n handleChange(e as unknown as React.ChangeEvent<any>, nextIdx);\n }\n }}\n />\n )}\n\n <div ref={methodBoxRef}>\n {activeMethod && renderPaymentMethodForm(activeMethod, isSubmitting)}\n </div>\n\n {submit && (\n <UdpFlexbox direction=\"row\" gap=\"sm\" align=\"center\" wrap=\"nowrap\">\n {actionsStart}\n {!isAutoSubmitHostedMethod && (\n <UdpButton\n type=\"submit\"\n form={id}\n appearance=\"primary\"\n loading={loading || loadingProcessPayment}\n // Not actionable until discovery resolves a payable method\n // (no fields mounted yet — a click would submit an empty\n // form), nor in hosted-iframe mode until the vendor iframe\n // reports a token (isValid). Tokenization is driven inside\n // the iframe, so this cannot deadlock the flow.\n disabled={loadingPaymentMethods || hasNoMethods || paymentFormStatus?.isValid === false}\n >\n {actionLabel || t('Save')}\n </UdpButton>\n )}\n </UdpFlexbox>\n )}\n\n {childrenPosition === \"after\" && children}\n {typeof render === 'function' ? render(params) : render}\n </UdpFlexbox>\n\n {childrenPosition === \"outside\" && children}\n </>\n );\n }}\n />\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAwGA,MAAMoE,wBAAwB,CAC5B;CAAEC,MAAM;CAAYC,OAAO;CAAY,EACvC;CAAED,MAAM;CAAWC,OAAO;CAAW,CACtC;AAED,MAAMC,kBAAkB;CACtBC,aAAa;CACbC,MAAM;CACNC,SAAS;CACTC,YAAY;CACb;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0DD,MAAaC,eAAuC,EAClDhD,IACAC,YAAY,GACZC,YAEAC,iBACAC,gBACAC,mBAAmBmC,uBACnBlC,SACAY,mBACAX,aACAI,oBACAE,mBACAI,QACAK,UACAE,mBAAmB,UACnBC,aACAC,QACAE,oBAAoB,MACpBC,UACAC,aACAC,iBACAE,yBAAyB,MACzBC,eAAe,SACfC,cACAC,oBACAE,oBACI;CACJ,MAAMW,OAAOzD,SAAS;CACtB,MAAM,EAAE0D,MAAMtE,gBAAgB;CAC9B,MAAM,CAAC8D,OAAOS,YAAY1E,SAASwB,UAAU;CAC7C,MAAMmD,UAAU9E,OAAY,KAAK;CACjC,MAAM+E,eAAe/E,OAA8B,KAAK;CACxD,MAAMiF,wBAAwBjF,OAAsB,KAAK;;;;;;;;;CASzD,MAAMkF,8BAA8B;EAClC,MAAMC,MAAMJ,aAAaK;AACzB,MAAI,CAACD,IAAK;AACVA,MAAIE,MAAMC,YAAY,GAAGH,IAAII,aAAY;AACzC,MAAIN,sBAAsBG,QACxBI,QAAOC,aAAaR,sBAAsBG,QAAQ;AAEpDH,wBAAsBG,UAAUI,OAAOE,iBAAiB;AACtDP,OAAIE,MAAMC,YAAY;AACtBL,yBAAsBG,UAAU;KAC/B,IAAI;;AAGTnF,uBACc;AACV,MAAIgF,sBAAsBG,QACxBI,QAAOC,aAAaR,sBAAsBG,QAAQ;IAGtD,EACF,CAAC;CAID,MAAMO,cAAc3F,OAA2BuD,SAAS;AACxDtD,iBAAgB;AACd0F,cAAYP,UAAU7B;IACrB,CAACA,SAAS,CAAC;CAEd,MAAM,CAACqC,mBAAmBC,wBAAwB1F,SAAc,KAAK;CACrE,MAAM,GAAG2F,4BAA4B3F,SAA0C,KAAK;CACpF,MAAM,CAAC4F,qBAAqBC,0BAA0B7F,SAASmB,sBAAsB2E,WAAW;CAChG,MAAM,CAACC,uBAAuBC,4BAA4BhG,SAAkB,MAAM;CAClF,MAAM,CAACiG,wBAAwBC,6BAA6BlG,SAAgC,KAAK;;;;;;CASjG,MAAM,EAAEmG,SAASC,qBAAqBC,WAAWC,0BAA0BjF,kBAAkB+B,UAAUC,YAAY;;;;;;;;CASnH,MAAMkD,qBAAqBtG,YACzB,OAAOuG,iBAAyBC,oBAAqC;AACnE,MAAI,CAACD,mBAAmB,CAACC,gBACvB,QAAO;EAGT,MAAMC,QAAQlB,YAAYP;EAC1B,MAAM0B,OAAOD,QACT,kCAAkCD,gBAAe,QACjD,kCAAkCA;EACtC,MAAMG,SAASF,QACX;GAAEG,QAAQ;GAAOC,SAAS;IAAEC,eAAe,UAAUL;IAASM,iBAAiB3D;IAAY;GAAG,GAC9F,EAAEwD,QAAQ,OAAO;AACrB,SAAO/F,UAAUD,cAAcoG,YAAYN,MAAMC,QAAQ,EAAE,CAAC;IAE9D,CAACvD,YACH,CAAC;;;;;;;;CASD,MAAM6D,4BAA4BjH,YAChC,OAAOkH,UAAeC,aAAgC;EAEpD,MAAMzE,iBADS,MAAM4D,mBAAmBY,UAAUC,SAAS,GAC7BC;AAE9B,MAAI,CAAC1E,cACH,OAAM,IAAI2E,MAAM,GAAG7C,EAAE,yCAAyC,CAAA,IAAK2C,WAAW;AAGhF,SAAOzE;IAET,CAAC4D,mBACH,CAAC;;;;;;;;CASD,MAAMgB,mBAAmBtH,YACvB,OAAOuH,aAAqBC,gBAAqB;AAC/C,MAAI,CAACD,eAAe,CAACC,YACnB,QAAO;EAGT,MAAMf,QAAQlB,YAAYP;EAC1B,MAAM0B,OAAOD,QACT,kBAAkBc,YAAW,QAC7B,kBAAkBA;EACtB,MAAME,OAAOD;EACb,MAAMb,SAASF,QACX;GAAEG,QAAQ;GAAQQ,MAAMK;GAAMZ,SAAS;IAAEC,eAAe,UAAUL;IAASM,iBAAiB3D;IAAY;GAAG,GAC3G;GAAEwD,QAAQ;GAAQQ,MAAMK;GAAM;AAElC,SAAO5G,UAAUD,cAAcoG,YAAYN,MAAMC,QAAQ,EAAE,CAAC;IAE9D,CAACvD,YACH,CAAC;;;;;;;;CASD,MAAMsE,yBAAyB1H,YAC7B,OAAOuH,aAAqBC,gBAAqB;AAE/CG,UAAQC,IAAI,iCAAiC;AAE7C,MAAI,CAACL,eAAe,CAACC,YACnB,QAAO;EAET,MAAMC,OAAOD;EACb,MAAMf,QAAQlB,YAAYP;EAC1B,MAAM6C,WAAYL,aAA8CM,iBAC5D,kBAAkBP,YAAW,WAC7B,mCAAmCA;EACvC,MAAMb,OAAOD,QAAQ,GAAGoB,SAAQ,QAASA;AAEzCF,UAAQC,IAAI,qBAAqBlB,OAAO;AACxCiB,UAAQC,IAAIH,KAAK;AAEjB,SAAO5G,UACLD,cAAcoG,YACdN,MACAD,QACI;GAAEG,QAAQ;GAAQQ,MAAMK;GAAMZ,SAAS;IAAEC,eAAe,UAAUL;IAASM,iBAAiB3D;IAAY;GAAG,GAC3G;GAAEwD,QAAQ;GAAQQ,MAAMK;GAAM,EAClC,EACF,CAAC;IAEH,CAACrE,YACH,CAAC;CAMD,MAAM2E,sBAAiDjI,eAAe;EACpE,cAAc0E,EAAE,cAAc;EAC9B,aAAaA,EAAE,aAAa;EAC5B,UAAUA,EAAE,SAAS;EACrB,SAASA,EAAE,QAAQ;EACnB,QAAQA,EAAE,OAAM;EACjB,GAAG,CAACA,EAAE,CAAC;;;;;;;;;;;;CAaR,MAAMyD,gBAAgBnG,OAA+BoG,aAAqB;AACxEpD,yBAAuB;AACvBL,WAASyD,SAAS;EAElB,MAAMC,wBAAwBC,iBAAiBF;AAE/CxC,2BACEyC,uBAAuBE,yBAAyBC,uBACjD;AACD1C,yBAAuBuC,uBAAuBI,gBAAyC;AAEvF1G,cAAYC,OAAOqG,sBAAsB;;CAK3C,MAAMK,sBAAsBhD,sBAAiC;AAC3DC,uBAAqBD,kBAAkB;;;;;;;;;;;;CAazC,MAAMiD,0BAA0BzI,aAAa4G,QAAa8B,mBAA4B;EACpF,MAAM3E,OAAO6C,QAAQ7C,MAAM4E,aAAa;AAExC,MAAI5E,SAASE,gBAAgBC,YAC3B,QACE,sBAAA,cAAC,gBAAD;GACE,gBAAgBsE;GACA9G;GAChB,YAAYF,eAAeoH,KAAAA,IAAYC,OAAOrH,WAAW,GAAGoH,KAAAA;GACjC3C;GACdlD;GACG2F;GAChB,iBAAiBnF;GACPJ;GACGC;GACb,GAAIwD;GACJ,CAAA;AAGN,MAAI7C,SAASE,gBAAgBE,KAC3B,QACE,sBAAA,cAAC,UAAD;GACE,gBAAgBqE;GACA9G;GACAgH;GAChB,GAAI9B;GACJ,CAAA;AAGN,MAAI7C,SAASE,gBAAgBG,QAC3B,QACE,sBAAA,cAAC,iBAAD;GACoBzC;GAClB,gBAAgB6G;GACA9G;GAChB,YAAYF,eAAeoH,KAAAA,IAAYC,OAAOrH,WAAW,GAAGoH,KAAAA;GACjC3C;GACdlD;GACG2F;GAChB,iBAAiBnF;GACPJ;GACGC;GACb,GAAIwD;GACJ,CAAA;AAGN,MAAI7C,SAASE,gBAAgBI,WAE3B,QACE,sBAAA,cAAC,gBAAD;GACE,gBAAgBmE;GACA9G;GACAgH;GAChB,iBAAiBnF;GACPJ;GACGC;GACb,GAAIwD;GACJ,CAAA;AAGN,SAAO;IACN;EAAClF;EAAgBC;EAAkBH;EAAYuB;EAAaQ;EAAwBJ;EAAUC;EAAY,CAAC;;;;;;CAO9G,MAAMgF,iBAAiBtI,cACfqG,qBAAqB2C,QAAQC,MAAMA,EAAEC,QAAQ,IAAI,EAAE,EACzD,CAAC7C,oBACH,CAAC;CAED,MAAM8C,eAAeb,eAAepE,UAAUoE,eAAe;;;;CAK7D,MAAMc,gBAAgBpJ,cAAc;AAElC,SADmBmJ,cAAcZ,yBAAyBc,eACpC;IACrB,CAACF,aAAa,CAAC;;;;;;;;CASlB,MAAMG,2BACJH,cAAcI,wBAAwB,SACrCJ,cAAcK,iBAAiBrI,yBAAyBsI,UACvDN,cAAcK,iBAAiBrI,yBAAyBuI;AAI5D3J,iBAAgB;AACd,MAAIuI,eAAeqB,WAAW,EAAG;AACjC,MAAIzF,SAASoE,eAAeqB,OAC1BhF,UAAS,EAAE;IAEZ,CAAC2D,eAAeqB,QAAQzF,MAAM,CAAC;;;;;;;CAQlC,MAAM0F,yBAAyB9C,WAA8B;EAC3D,MAAM+C,uBAAuB/C,QAAQ7C,MAAM4E,aAAa,CAACiB,QAAQ,QAAQ,GAAG,IAAI;AAGhF,SAFoB7B,sBAAsB4B,yBAA6D/C,OAAO7C;;;;;;;;;CAYhH,MAAM+F,6BAA6B9J,aAChC+J,aAAkBrH,eAAoB8D,iBAAkCR,2BAAuD;EAC9H,MAAMgE,kBACJtH,cAAc2F,yBAAyBC;EACzC,IAAI2B,gBAAgB,EAAE;AAEtB,UAAQD,iBAAR;GACE,KAAK/I,yBAAyBiJ;AAC5BD,oBAAgB;KACdE,iBACE3E,mBAAmB4E,SAAS3D,SAC5BjB,mBAAmB4E,SAASC;KAC9B,GAAI7E,mBAAmB4E,SAASE,UAAU,EACxCC,QAAQ/E,mBAAmB4E,SAASE,QACrC;KACF;AACD;GACF,KAAKrJ,yBAAyBsI;AAC5B,QAAI,CAAC/D,mBAAmBgF,QACtB,OAAM,IAAInD,MACR,GAAG7C,EAAE,qDAAqD,CAAA,GAAIgB,mBAAmBiF,eAClF;AAIHR,oBAAgB,EACdY,cAHoBF,KAAKC,MAAMpF,mBAAmB4E,QAAQ,EAG7BU,qBAC9B;AACD;GACF,KAAK7J,yBAAyBuI;IAC5B,MAAM1B,iBAAiB9B,yBAAyBA,wBAAwB+E,iBAAiB;AAGzFd,oBAAgB;KACde,eAAexF,mBAAmB4E,SAASa;KAC3Cd,iBAAiB3E,mBAAmB4E,SAASc;KAC7C,GAAI1F,mBAAmB4E,SAASe,cAAc,EAC5CZ,QAAQ/E,mBAAmB4E,SAASe,YACrC;KACD,GAAIrD,kBAAkB,EAAEsD,gBAAgBtD,gBAAgB;KACzD;AACD;GACF,QACE;;AAQJ,SANgB;GACd,GAAGiC;GACHuB,wBAAwBtB;GACxB,GAAGC;GACJ;IAIH,CAACzE,kBACH,CAAC;;;;;;;;CASD,MAAM+F,gCAAgCvL,aACnC+J,aAAkBtH,aAAuB;EACxC,IAAI+I,cAAc,EAAE,GAAGzB,aAAa;AAEpC,MAAIpE,wBAAwBzE,sBAAsB2E,WAChD4F,QAAOC,OAAOF,aAAaG,kBAAkBlJ,SAAS,CAAC;WAC9CkD,wBAAwBzE,sBAAsB0K,OACvDH,QAAOC,OAAOF,aAAaK,cAAcpJ,SAAS,CAAC;AAErD,SAAO+I;IAET,CAAC7F,oBACH,CAAC;;;;;;;;;CAUD,MAAMmG,oBAAoB9L,aACvByC,UAAeC,eAAoBC,iBAAsB6D,iBAAkCR,2BAAuD;EACjJ,MAAM+D,cAAcvH,kBAAkBC,UAAUC,eAAeC,gBAAgB;AAE/E,SAAOA,kBACHmH,2BAA2BC,aAAarH,eAAe8D,iBAAiBR,uBAAuB,GAC/FuF,8BAA8BxB,aAAatH,SAAS;IAE1D;EAAC+C;EAAmBjB;EAAM/B;EAAmBd;EAAgBiE;EAC/D,CAAC;;;;;;;;;;CAWD,MAAMoG,iBAAiB/L,YACrB,OACEwG,iBACAgF,aACA7I,oBACiB;AACjB,MAAI,CAAC6D,mBAAmB,CAACgF,YACvB,OAAM,IAAInE,MACR7C,EAAE,uBACJ,CAAC;AAEH,MAAI,OAAO7B,oBAAoB,UAC7B,OAAM,IAAI0E,MACR7C,EAAE,8BACJ,CAAC;AAGHmD,UAAQC,IAAI,wBAAwB;EAGpC,MAAMoE,oBAAoB9K,wBAAwBsF;AAElD,MAAI,CAACwF,kBACH,OAAM,IAAI3E,MACR7C,EAAE,yBAAyB,GAC3B,KAAKgC,kBACN;AAOH,UAJiB7D,kBACb,MAAM+E,uBAAuBsE,mBAAmBR,YAAY,GAC5D,MAAMlE,iBAAiB0E,mBAAmBR,YAAY,GAEzCpE,QAAQ;IAE3B,CAACE,kBAAkBI,uBACrB,CAAC;;;;;;;;;CAUD,MAAMiE,qBAAqBlJ,aAAkB;EAC3C,MAAMyJ,cAAczJ,SAAS0J,WAAWC,MAAM,IAAI,GAAG;EAErD,MAAME,iBAAiB,KADJ7J,SAAS0J,WAAWC,MAAM,IAAI,GAAG,GACd,GAAIF,YAAW;AAErD,SAAO;GACLK,YAAY9J,SAAS+J,WAAW5C,QAAQ,OAAO,GAAG;GAClD6C,gBAAgBH;GAChBI,cAAcjK,SAASkK;GACxB;;;;;;CAOH,MAAMd,iBAAiBpJ,cAAmB;EACxCmK,eAAenK,SAASmK,cAAchD,QAAQ,OAAO,GAAG;EACxDiD,eAAepK,SAASoK,cAAcjD,QAAQ,OAAO,GAAE;EACxD;;;;;;CAWD,MAAMkD,oBAAoB9M,YACxB,OAAOyC,aAAiC;AACtC,MAAI,CAACA,SAAU;AAMf,MAAI4D,yBAAyB+B,eAAeqB,WAAW,EAAG;AAE1D1D,2BAAyB,KAAK;AAI9B,MAAI1C,gBACF,KAAI;GACF,MAAM0J,aAAa,MAAM1J,iBAAiB;AAC1C,OAAI0J,WACFxH,aAAYP,UAAU+H;WAEjBC,OAAO;AACdrF,WAAQsF,KAAK,8DAA8DD,MAAM;;EASrF,MAAME,mBAAmB,OAAWC,SAAuC;AACzE,OAAI;AACF,WAAO,MAAMA,MAAM;YACZH,OAAY;AACnB,QAAI,CAAC3J,mBAAmB2J,OAAOf,UAAUoB,WAAW,IAAK,OAAML;IAC/D,IAAID;AACJ,QAAI;AACFA,kBAAa,MAAM1J,iBAAiB;YAC9B;AACN,WAAM2J;;AAER,QAAI,CAACD,WAAY,OAAMC;AACvBzH,gBAAYP,UAAU+H;AACtB,WAAOI,MAAM;;;EAIjB,MAAM5G,kBAAkBhB,YAAYP,UAAU5B,cAAcmB,MAAMwC;EAClE,MAAMP,kBAAkBb;AAExB,MAAI,CAACY,mBAAmB,CAACC,iBAAiB;AACxCrE,uBAAoB,MAAM;IACxB6K,OAAO;IACP3C,SAAS;IACV,CAAC;AACFtE,4BAAyB,MAAM;AAC/B;;AAGF4B,UAAQC,IAAI,2BAA2B;AAEvC,MAAI;GACF,MAAMlF,gBAAgB,MAAMwK,uBAC1BjG,0BAA0BV,iBAAiBC,gBAC7C,CAAC;GACD,MAAM7D,kBACJD,cAAc2F,yBAAyBiF,yBAAyB,IAC5DC,wBAAwB;GAE9B,MAAM/B,cAAcM,kBAClBrJ,UACAC,eACAC,iBACA6D,iBACAR,uBACD;GAED,MAAMwH,gBAAgB,MAAMN,uBAC1BnB,eAAevF,iBAAiBgF,aAAa7I,gBAC/C,CAAC;AAEDR,uBAAoBM,UAAU+K,cAAc;WAErCR,OAAY;AAGnBrF,WAAQqF,MAAM,6BAA6BA,MAAM;AACjD7K,uBAAoBM,UAAU;IAC5BuK,OAAO;IACP3C,SAAS2C,OAAO3C,WAAW;IAC5B,CAAC;YACM;AACRtE,4BAAyB,MAAM;;IAGnC;EAAC+F;EAAmBnG;EAAqBpB;EAAMyB;EAAwB5C;EAAaC;EAAiB0I;EAAgB9E;EAA2B9E;EAAmBkE;EAAuB+B;EAC5L,CAAC;;;;;;;;;CAUD,MAAMqF,gCAAgCzN,kBAAkB;EACtD,MAAM0N,SAASlI,mBAAmBmI;AAKlC,OAHED,WAAWzM,yBAAyBsI,UACpCmE,WAAWzM,yBAAyBuI,cAEZ9E,SAASM,QACjCN,SAAQM,QAAQzC,QAAQ;IAEzB,CAACiD,kBAAkB,CAAC;AAQvB3F,iBAAgB;AACd,MAAI,CAACsG,oBAAqB;AAE1BT,2BADqBS,oBAAoB2H,MAAM/E,MAAMA,EAAEC,QAAQ,EACxBM,gBAAgB,KAAK;IAC3D,CAACnD,oBAAoB,CAAC;AAEzBtG,iBAAgB;AACdoC,uBAAqBuD,kBAAkB;AACvCiI,iCAA+B;IAC9B,CAACjI,kBAAkB,CAAC;AAIvB3F,iBAAgB;AACd6D,uBAAqBoC,sBAAsB;IAE1C,CAACA,sBAAsB,CAAC;CAK3B,MAAMiI,kBACJ,CAAC1H,yBACD+B,eAAeqB,SAAS,KACxBjE,mBAAmBgF,YAAY;AAEjC3K,iBAAgB;AACd+D,kBAAgBmK,gBAAgB;IAE/B,CAACA,gBAAgB,CAAC;AAIrB,QACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,MAAD;EACMzM;EACJ,UAAUwL;EACV,SAAS7J,WAAgB;AACvByB,WAAQM,UAAU/B,QAAQ+K;GAE1B,MAAMC,qBAAqB7F,eAAeqB,SAAS;GAEnD,MAAMyE,eACJ/H,wBAAwByC,KAAAA,KACxBR,eAAeqB,WAAW,KAC1B,CAACpD;GAKH,MAAM8H,eAAeC,QAAQnL,QAAQU,WAAW,IAAImC;AAEpD,UACE,sBAAA,cAAA,MAAA,UAAA,MACE,sBAAA,cAAC,YAAD;IAAY,WAAU;IAAS,KAAI;IAAK,MAAK;IAyFjC,EAxFThD,qBAAqB,YAAYF,WAEhChB,WAAWyE,0BAA0B,sBAAA,cAAC,gBAAA,KAAiB,EAExD6H,gBACC,sBAAA,cAAC,eAAD,EAAe,QAAO,SAGvB,EAFI1J,EAAE,oDAAoD,CAE1D,EAEAtB,qBAAqBgG,iBACpB,sBAAA,cAAC,eAAD,EAAe,QAAO,WAGvB,EAFI1E,EAAE,yDAAyD,CAE/D,EAEAyJ,sBAAsBzK,iBAAiB,UACtC,sBAAA,cAAC,YAAD;IACE,MAAK;IACL,UAAU2K;IACV,UAAUtF,OAAOI,cAAcV,mBAAmB,GAAG;IACrD,SAASH,eAAeiG,KAAKtF,OAAO;KAClCzH,IAAIuH,OAAOE,EAAER,gBAAgB;KAC7B+F,OAAO5E,sBAAsBX,EAAC;KAC/B,EAAE;IACH,cAAcwF,MAAoC;KAChD,MAAMjN,KAAKuH,OAAO0F,EAAEE,OAAO;KAC3B,MAAMC,UAAUtG,eAAeuG,WAC5B5F,MAAMF,OAAOE,EAAER,gBAAgB,KAAKjH,GACtC;AACD,SAAIoN,WAAW,EACbzG,cAAasG,GAAwCG,QAAQ;;IAIpE,CAAA,EAEAT,sBAAsBzK,iBAAiB,WACtC,sBAAA,cAAC,eAAD;IACE,OAAOgB,EAAE,iBAAiB;IAC1B,MAAK;IACL,UAAU2J;IACV,qBAAqB;IACrB,OAAOtF,OAAOI,cAAcV,mBAAmB,GAAG;IAClD,OAAOH,eAAeiG,KAAKtF,OAAO;KAChCuF,OAAO5E,sBAAsBX,EAAE;KAC/B/E,OAAO6E,OAAOE,EAAER,gBAAe;KAChC,EAAE;IACH,WAAWgG,MAAM;KACf,MAAMjN,KAAKiN,EAAEK,OAAO5K;KACpB,MAAM0K,UAAUtG,eAAeuG,WAC5B5F,MAAMF,OAAOE,EAAER,gBAAgB,KAAKjH,GACtC;AACD,SAAIoN,WAAW,EACbzG,cAAasG,GAAwCG,QAAQ;;IAIpE,CAAA,EAED,sBAAA,cAAC,OAAD,EAAK,KAAK/J,cAEL,EADFsE,gBAAgBR,wBAAwBQ,cAAckF,aAAa,CACjE,EAEJ5L,UACC,sBAAA,cAAC,YAAD;IAAY,WAAU;IAAM,KAAI;IAAK,OAAM;IAAS,MAAK;IAmB1D,EAlBIkB,cACA,CAAC2F,4BACF,sBAAA,cAAC,WAAD;IACE,MAAK;IACL,MAAM9H;IACN,YAAW;IACX,SAASM,WAAWkE;IAMpB,UAAUO,yBAAyB6H,gBAAgB1I,mBAAmBgF,YAAY;IAInF,EAFEzH,eAAeyB,EAAE,OAAO,CAE1B,CAEJ,EAEA1B,qBAAqB,WAAWF,UAChC,OAAOI,WAAW,aAAaA,OAAOC,OAAO,GAAGD,OACvC,EAEXF,qBAAqB,aAAaF,SAClC;;EAEL,CAAA,CAEH"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { IPaymentMethodTab } from './AccountPayment.model';
|
|
2
|
+
export interface PaymentContext {
|
|
3
|
+
/**
|
|
4
|
+
* Resolved payment methods with vendor connection info and enabled state.
|
|
5
|
+
* `undefined` while loading; `[]` when the user has no available methods.
|
|
6
|
+
*/
|
|
7
|
+
methods: IPaymentMethodTab[] | undefined;
|
|
8
|
+
isLoading: boolean;
|
|
9
|
+
isError: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Wraps today's N+1 payment-method discovery:
|
|
13
|
+
* 1. GET /PaymentMethod (list)
|
|
14
|
+
* 2. GET /AppPaymentVendor/PaymentMethod/{id} for each (per-method vendor info)
|
|
15
|
+
*
|
|
16
|
+
* When the backend ships a single payment-context endpoint, this hook is the
|
|
17
|
+
* one file that needs to change — replace the implementation with a single
|
|
18
|
+
* `useApiQuery` call that returns the same shape and the rest of the form is
|
|
19
|
+
* unaffected.
|
|
20
|
+
*/
|
|
21
|
+
export declare function usePaymentContext(s2sToken?: string, s2sTenantId?: string): PaymentContext;
|
|
22
|
+
//# sourceMappingURL=usePaymentContext.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePaymentContext.d.ts","sourceRoot":"","sources":["../../../../src/utilities/form/paymentForm/usePaymentContext.ts"],"names":[],"mappings":"AAOA,OAAO,EAGL,iBAAiB,EAClB,MAAM,wBAAwB,CAAC;AAEhC,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,OAAO,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,CA4IzF"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { useEffect, useState } from 'react';
|
|
2
|
+
import { useApiQuery } from '../../useApiQuery';
|
|
3
|
+
import { apiMutate } from '../../useAxiosMutate';
|
|
4
|
+
import { useUser } from '../../auth/useUser';
|
|
5
|
+
import { ConfigService } from '../../../configService';
|
|
6
|
+
import { stringToProps } from '../../stringUtils';
|
|
7
|
+
/**
|
|
8
|
+
* Wraps today's N+1 payment-method discovery:
|
|
9
|
+
* 1. GET /PaymentMethod (list)
|
|
10
|
+
* 2. GET /AppPaymentVendor/PaymentMethod/{id} for each (per-method vendor info)
|
|
11
|
+
*
|
|
12
|
+
* When the backend ships a single payment-context endpoint, this hook is the
|
|
13
|
+
* one file that needs to change — replace the implementation with a single
|
|
14
|
+
* `useApiQuery` call that returns the same shape and the rest of the form is
|
|
15
|
+
* unaffected.
|
|
16
|
+
*/
|
|
17
|
+
export function usePaymentContext(s2sToken, s2sTenantId) {
|
|
18
|
+
const user = useUser();
|
|
19
|
+
const [methods, setMethods] = useState(undefined);
|
|
20
|
+
const [resolveError, setResolveError] = useState(false);
|
|
21
|
+
const s2s = (path) => s2sToken ? `${path}/S2S` : path;
|
|
22
|
+
const s2sConfig = s2sToken
|
|
23
|
+
? { headers: { Authorization: `Bearer ${s2sToken}`, currentTenantId: s2sTenantId } }
|
|
24
|
+
: {};
|
|
25
|
+
const { data: paymentMethodList, isLoading: listLoading, isError: listError, } = useApiQuery(ConfigService.pgV1ApiUrl, s2s('PaymentMethod'), s2sConfig);
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
if (!paymentMethodList)
|
|
28
|
+
return;
|
|
29
|
+
const validMethods = paymentMethodList.filter(Boolean);
|
|
30
|
+
if (validMethods.length === 0) {
|
|
31
|
+
setMethods([]);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
let cancelled = false;
|
|
35
|
+
const resolve = async () => {
|
|
36
|
+
try {
|
|
37
|
+
const results = await Promise.allSettled(validMethods.map(async (paymentMethod) => {
|
|
38
|
+
var _a, _b;
|
|
39
|
+
var _c;
|
|
40
|
+
// In S2S mode there is no Unity user, but methods should be enabled.
|
|
41
|
+
// In non-S2S mode, short-circuit when there is no tenant context.
|
|
42
|
+
if (!s2sToken && !(user === null || user === void 0 ? void 0 : user.currentTenantId)) {
|
|
43
|
+
return {
|
|
44
|
+
paymentMethodID: paymentMethod.paymentMethodID,
|
|
45
|
+
name: paymentMethod.name,
|
|
46
|
+
enabled: false,
|
|
47
|
+
data: null,
|
|
48
|
+
paymentVendorConnection: undefined,
|
|
49
|
+
isHostedPaymentPage: false,
|
|
50
|
+
providerType: null,
|
|
51
|
+
providerProps: null,
|
|
52
|
+
hasReadPropertiesError: false,
|
|
53
|
+
readPropertiesMessageError: null,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
try {
|
|
57
|
+
const result = await apiMutate(ConfigService.pgV1ApiUrl, s2s(`AppPaymentVendor/PaymentMethod/${paymentMethod.paymentMethodID}`), Object.assign({ method: 'GET' }, s2sConfig), {});
|
|
58
|
+
const paymentVendorConnection = ((_a = result === null || result === void 0 ? void 0 : result.data) === null || _a === void 0 ? void 0 : _a.paymentVendorConnection) || null;
|
|
59
|
+
const providerType = (_c = paymentVendorConnection === null || paymentVendorConnection === void 0 ? void 0 : paymentVendorConnection.paymentVendorFactoryID) !== null && _c !== void 0 ? _c : null;
|
|
60
|
+
const hostedPaymentPageSetup = ((_b = paymentVendorConnection === null || paymentVendorConnection === void 0 ? void 0 : paymentVendorConnection.hostedPaymentPageSetup) === null || _b === void 0 ? void 0 : _b.find((x) => x.useHostedPaymentPage)) || null;
|
|
61
|
+
const isHostedPaymentPage = (hostedPaymentPageSetup === null || hostedPaymentPageSetup === void 0 ? void 0 : hostedPaymentPageSetup.useHostedPaymentPage) || false;
|
|
62
|
+
let providerProps = {};
|
|
63
|
+
let hasReadPropertiesError = false;
|
|
64
|
+
let readPropertiesMessageError = null;
|
|
65
|
+
if (isHostedPaymentPage) {
|
|
66
|
+
const { error, attributes } = stringToProps(hostedPaymentPageSetup === null || hostedPaymentPageSetup === void 0 ? void 0 : hostedPaymentPageSetup.hostedPaymentPageConfig);
|
|
67
|
+
providerProps = Object.assign({ customCss: hostedPaymentPageSetup === null || hostedPaymentPageSetup === void 0 ? void 0 : hostedPaymentPageSetup.customCSS, attributes }, ((attributes === null || attributes === void 0 ? void 0 : attributes.baseUrl) ? { baseUrl: attributes === null || attributes === void 0 ? void 0 : attributes.baseUrl } : null));
|
|
68
|
+
hasReadPropertiesError = Boolean(error);
|
|
69
|
+
readPropertiesMessageError = error || null;
|
|
70
|
+
}
|
|
71
|
+
const resolved = {
|
|
72
|
+
paymentMethodID: paymentMethod.paymentMethodID,
|
|
73
|
+
name: paymentMethod.name,
|
|
74
|
+
enabled: (result === null || result === void 0 ? void 0 : result.status) === 200,
|
|
75
|
+
data: (result === null || result === void 0 ? void 0 : result.status) === 200 ? result.data : null,
|
|
76
|
+
paymentVendorConnection,
|
|
77
|
+
isHostedPaymentPage,
|
|
78
|
+
providerType,
|
|
79
|
+
providerProps,
|
|
80
|
+
hasReadPropertiesError,
|
|
81
|
+
readPropertiesMessageError,
|
|
82
|
+
};
|
|
83
|
+
return resolved;
|
|
84
|
+
}
|
|
85
|
+
catch (error) {
|
|
86
|
+
console.error(`Error fetching payment method info for ${paymentMethod === null || paymentMethod === void 0 ? void 0 : paymentMethod.paymentMethodID}:`, error);
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
}));
|
|
90
|
+
if (cancelled)
|
|
91
|
+
return;
|
|
92
|
+
const filtered = results
|
|
93
|
+
.filter((r) => r.status === 'fulfilled' && r.value !== null)
|
|
94
|
+
.map((r) => r.value);
|
|
95
|
+
setMethods(filtered);
|
|
96
|
+
setResolveError(false);
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
if (cancelled)
|
|
100
|
+
return;
|
|
101
|
+
console.error('Error resolving payment methods:', error);
|
|
102
|
+
setMethods([]);
|
|
103
|
+
setResolveError(true);
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
resolve();
|
|
107
|
+
return () => {
|
|
108
|
+
cancelled = true;
|
|
109
|
+
};
|
|
110
|
+
}, [paymentMethodList, user === null || user === void 0 ? void 0 : user.currentTenantId, s2sToken, s2sTenantId]);
|
|
111
|
+
return {
|
|
112
|
+
methods,
|
|
113
|
+
isLoading: listLoading || (paymentMethodList !== undefined && methods === undefined),
|
|
114
|
+
isError: listError || resolveError,
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=usePaymentContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePaymentContext.js","sourceRoot":"","sources":["../../../../src/utilities/form/paymentForm/usePaymentContext.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { ConfigService } from "../../../configService/index.mjs";
|
|
2
|
+
import { useUser } from "../../auth/useUser.mjs";
|
|
3
|
+
import { apiMutate } from "../../useAxiosMutate.mjs";
|
|
4
|
+
import { stringToProps } from "../../stringUtils.mjs";
|
|
5
|
+
import { useApiQuery } from "../../useApiQuery.mjs";
|
|
6
|
+
import { useEffect, useState } from "react";
|
|
7
|
+
//#region src/utilities/form/paymentForm/usePaymentContext.ts
|
|
8
|
+
/**
|
|
9
|
+
* Wraps today's N+1 payment-method discovery:
|
|
10
|
+
* 1. GET /PaymentMethod (list)
|
|
11
|
+
* 2. GET /AppPaymentVendor/PaymentMethod/{id} for each (per-method vendor info)
|
|
12
|
+
*
|
|
13
|
+
* When the backend ships a single payment-context endpoint, this hook is the
|
|
14
|
+
* one file that needs to change — replace the implementation with a single
|
|
15
|
+
* `useApiQuery` call that returns the same shape and the rest of the form is
|
|
16
|
+
* unaffected.
|
|
17
|
+
*/
|
|
18
|
+
function usePaymentContext(s2sToken, s2sTenantId) {
|
|
19
|
+
const user = useUser();
|
|
20
|
+
const [methods, setMethods] = useState(void 0);
|
|
21
|
+
const [resolveError, setResolveError] = useState(false);
|
|
22
|
+
const s2s = (path) => s2sToken ? `${path}/S2S` : path;
|
|
23
|
+
const s2sConfig = s2sToken ? { headers: {
|
|
24
|
+
Authorization: `Bearer ${s2sToken}`,
|
|
25
|
+
currentTenantId: s2sTenantId
|
|
26
|
+
} } : {};
|
|
27
|
+
const { data: paymentMethodList, isLoading: listLoading, isError: listError } = useApiQuery(ConfigService.pgV1ApiUrl, s2s("PaymentMethod"), s2sConfig);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (!paymentMethodList) return;
|
|
30
|
+
const validMethods = paymentMethodList.filter(Boolean);
|
|
31
|
+
if (validMethods.length === 0) {
|
|
32
|
+
setMethods([]);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
let cancelled = false;
|
|
36
|
+
const resolve = async () => {
|
|
37
|
+
try {
|
|
38
|
+
const results = await Promise.allSettled(validMethods.map(async (paymentMethod) => {
|
|
39
|
+
if (!s2sToken && !user?.currentTenantId) return {
|
|
40
|
+
paymentMethodID: paymentMethod.paymentMethodID,
|
|
41
|
+
name: paymentMethod.name,
|
|
42
|
+
enabled: false,
|
|
43
|
+
data: null,
|
|
44
|
+
paymentVendorConnection: void 0,
|
|
45
|
+
isHostedPaymentPage: false,
|
|
46
|
+
providerType: null,
|
|
47
|
+
providerProps: null,
|
|
48
|
+
hasReadPropertiesError: false,
|
|
49
|
+
readPropertiesMessageError: null
|
|
50
|
+
};
|
|
51
|
+
try {
|
|
52
|
+
const result = await apiMutate(ConfigService.pgV1ApiUrl, s2s(`AppPaymentVendor/PaymentMethod/${paymentMethod.paymentMethodID}`), {
|
|
53
|
+
method: "GET",
|
|
54
|
+
...s2sConfig
|
|
55
|
+
}, {});
|
|
56
|
+
const paymentVendorConnection = result?.data?.paymentVendorConnection || null;
|
|
57
|
+
const providerType = paymentVendorConnection?.paymentVendorFactoryID ?? null;
|
|
58
|
+
const hostedPaymentPageSetup = paymentVendorConnection?.hostedPaymentPageSetup?.find((x) => x.useHostedPaymentPage) || null;
|
|
59
|
+
const isHostedPaymentPage = hostedPaymentPageSetup?.useHostedPaymentPage || false;
|
|
60
|
+
let providerProps = {};
|
|
61
|
+
let hasReadPropertiesError = false;
|
|
62
|
+
let readPropertiesMessageError = null;
|
|
63
|
+
if (isHostedPaymentPage) {
|
|
64
|
+
const { error: error_1, attributes } = stringToProps(hostedPaymentPageSetup?.hostedPaymentPageConfig);
|
|
65
|
+
providerProps = {
|
|
66
|
+
customCss: hostedPaymentPageSetup?.customCSS,
|
|
67
|
+
attributes,
|
|
68
|
+
...attributes?.baseUrl ? { baseUrl: attributes?.baseUrl } : null
|
|
69
|
+
};
|
|
70
|
+
hasReadPropertiesError = Boolean(error_1);
|
|
71
|
+
readPropertiesMessageError = error_1 || null;
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
paymentMethodID: paymentMethod.paymentMethodID,
|
|
75
|
+
name: paymentMethod.name,
|
|
76
|
+
enabled: result?.status === 200,
|
|
77
|
+
data: result?.status === 200 ? result.data : null,
|
|
78
|
+
paymentVendorConnection,
|
|
79
|
+
isHostedPaymentPage,
|
|
80
|
+
providerType,
|
|
81
|
+
providerProps,
|
|
82
|
+
hasReadPropertiesError,
|
|
83
|
+
readPropertiesMessageError
|
|
84
|
+
};
|
|
85
|
+
} catch (error_0) {
|
|
86
|
+
console.error(`Error fetching payment method info for ${paymentMethod?.paymentMethodID}:`, error_0);
|
|
87
|
+
return null;
|
|
88
|
+
}
|
|
89
|
+
}));
|
|
90
|
+
if (cancelled) return;
|
|
91
|
+
setMethods(results.filter((r) => r.status === "fulfilled" && r.value !== null).map((r_0) => r_0.value));
|
|
92
|
+
setResolveError(false);
|
|
93
|
+
} catch (error) {
|
|
94
|
+
if (cancelled) return;
|
|
95
|
+
console.error("Error resolving payment methods:", error);
|
|
96
|
+
setMethods([]);
|
|
97
|
+
setResolveError(true);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
resolve();
|
|
101
|
+
return () => {
|
|
102
|
+
cancelled = true;
|
|
103
|
+
};
|
|
104
|
+
}, [
|
|
105
|
+
paymentMethodList,
|
|
106
|
+
user?.currentTenantId,
|
|
107
|
+
s2sToken,
|
|
108
|
+
s2sTenantId
|
|
109
|
+
]);
|
|
110
|
+
return {
|
|
111
|
+
methods,
|
|
112
|
+
isLoading: listLoading || paymentMethodList !== void 0 && methods === void 0,
|
|
113
|
+
isError: listError || resolveError
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
//#endregion
|
|
117
|
+
export { usePaymentContext };
|
|
118
|
+
|
|
119
|
+
//# sourceMappingURL=usePaymentContext.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePaymentContext.mjs","names":["useEffect","useState","useApiQuery","apiMutate","useUser","ConfigService","stringToProps","PaymentVendorFactoryEnum","HostedPaymentPageSetup","IPaymentMethod","IPaymentMethodTab","PaymentContext","methods","isLoading","isError","usePaymentContext","s2sToken","s2sTenantId","user","setMethods","undefined","resolveError","setResolveError","s2s","path","s2sConfig","headers","Authorization","currentTenantId","data","paymentMethodList","listLoading","listError","pgV1ApiUrl","validMethods","filter","Boolean","length","cancelled","resolve","results","Promise","allSettled","map","paymentMethod","paymentMethodID","name","enabled","paymentVendorConnection","isHostedPaymentPage","providerType","providerProps","hasReadPropertiesError","readPropertiesMessageError","result","method","paymentVendorFactoryID","hostedPaymentPageSetup","find","x","useHostedPaymentPage","error","attributes","hostedPaymentPageConfig","customCss","customCSS","baseUrl","resolved","status","console","filtered","r","PromiseFulfilledResult","value"],"sources":["../../../../src/utilities/form/paymentForm/usePaymentContext.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { useApiQuery } from '../../useApiQuery';\nimport { apiMutate } from '../../useAxiosMutate';\nimport { useUser } from '../../auth/useUser';\nimport { ConfigService } from '../../../configService';\nimport { stringToProps } from '../../stringUtils';\nimport { PaymentVendorFactoryEnum } from '../../../enums/paymentVendorFactoryEnum';\nimport {\n HostedPaymentPageSetup,\n IPaymentMethod,\n IPaymentMethodTab,\n} from './AccountPayment.model';\n\nexport interface PaymentContext {\n /**\n * Resolved payment methods with vendor connection info and enabled state.\n * `undefined` while loading; `[]` when the user has no available methods.\n */\n methods: IPaymentMethodTab[] | undefined;\n isLoading: boolean;\n isError: boolean;\n}\n\n/**\n * Wraps today's N+1 payment-method discovery:\n * 1. GET /PaymentMethod (list)\n * 2. GET /AppPaymentVendor/PaymentMethod/{id} for each (per-method vendor info)\n *\n * When the backend ships a single payment-context endpoint, this hook is the\n * one file that needs to change — replace the implementation with a single\n * `useApiQuery` call that returns the same shape and the rest of the form is\n * unaffected.\n */\nexport function usePaymentContext(s2sToken?: string, s2sTenantId?: string): PaymentContext {\n const user = useUser();\n const [methods, setMethods] = useState<IPaymentMethodTab[] | undefined>(undefined);\n const [resolveError, setResolveError] = useState(false);\n\n const s2s = (path: string) => s2sToken ? `${path}/S2S` : path;\n const s2sConfig = s2sToken\n ? { headers: { Authorization: `Bearer ${s2sToken}`, currentTenantId: s2sTenantId } }\n : {};\n\n const {\n data: paymentMethodList,\n isLoading: listLoading,\n isError: listError,\n } = useApiQuery<IPaymentMethod[]>(\n ConfigService.pgV1ApiUrl,\n s2s('PaymentMethod'),\n s2sConfig,\n );\n\n useEffect(() => {\n if (!paymentMethodList) return;\n\n const validMethods = paymentMethodList.filter(Boolean);\n if (validMethods.length === 0) {\n setMethods([]);\n return;\n }\n\n let cancelled = false;\n\n const resolve = async () => {\n try {\n const results = await Promise.allSettled(\n validMethods.map(async (paymentMethod: IPaymentMethod) => {\n // In S2S mode there is no Unity user, but methods should be enabled.\n // In non-S2S mode, short-circuit when there is no tenant context.\n if (!s2sToken && !user?.currentTenantId) {\n return {\n paymentMethodID: paymentMethod.paymentMethodID,\n name: paymentMethod.name,\n enabled: false,\n data: null,\n paymentVendorConnection: undefined,\n isHostedPaymentPage: false,\n providerType: null,\n providerProps: null,\n hasReadPropertiesError: false,\n readPropertiesMessageError: null,\n } as IPaymentMethodTab;\n }\n\n try {\n const result = await apiMutate(\n ConfigService.pgV1ApiUrl,\n s2s(`AppPaymentVendor/PaymentMethod/${paymentMethod.paymentMethodID}`),\n { method: 'GET', ...s2sConfig },\n {},\n );\n\n const paymentVendorConnection = result?.data?.paymentVendorConnection || null;\n const providerType =\n (paymentVendorConnection?.paymentVendorFactoryID as PaymentVendorFactoryEnum | null) ?? null;\n const hostedPaymentPageSetup =\n paymentVendorConnection?.hostedPaymentPageSetup?.find(\n (x: HostedPaymentPageSetup) => x.useHostedPaymentPage,\n ) || null;\n const isHostedPaymentPage = hostedPaymentPageSetup?.useHostedPaymentPage || false;\n\n let providerProps: any = {};\n let hasReadPropertiesError = false;\n let readPropertiesMessageError: string | null = null;\n\n if (isHostedPaymentPage) {\n const { error, attributes } = stringToProps(\n hostedPaymentPageSetup?.hostedPaymentPageConfig,\n );\n\n providerProps = {\n customCss: hostedPaymentPageSetup?.customCSS,\n attributes,\n ...(attributes?.baseUrl ? { baseUrl: attributes?.baseUrl } : null),\n };\n\n hasReadPropertiesError = Boolean(error);\n readPropertiesMessageError = error || null;\n }\n\n const resolved: IPaymentMethodTab = {\n paymentMethodID: paymentMethod.paymentMethodID,\n name: paymentMethod.name,\n enabled: result?.status === 200,\n data: result?.status === 200 ? result.data : null,\n paymentVendorConnection,\n isHostedPaymentPage,\n providerType,\n providerProps,\n hasReadPropertiesError,\n readPropertiesMessageError,\n };\n return resolved;\n } catch (error) {\n console.error(\n `Error fetching payment method info for ${paymentMethod?.paymentMethodID}:`,\n error,\n );\n return null;\n }\n }),\n );\n\n if (cancelled) return;\n\n const filtered = results\n .filter((r): r is PromiseFulfilledResult<IPaymentMethodTab | null> =>\n r.status === 'fulfilled' && r.value !== null,\n )\n .map((r) => r.value as IPaymentMethodTab);\n\n setMethods(filtered);\n setResolveError(false);\n } catch (error) {\n if (cancelled) return;\n console.error('Error resolving payment methods:', error);\n setMethods([]);\n setResolveError(true);\n }\n };\n\n resolve();\n return () => {\n cancelled = true;\n };\n }, [paymentMethodList, user?.currentTenantId, s2sToken, s2sTenantId]);\n\n return {\n methods,\n isLoading: listLoading || (paymentMethodList !== undefined && methods === undefined),\n isError: listError || resolveError,\n };\n}\n"],"mappings":"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"}
|
|
@@ -9,5 +9,5 @@ import { PaymentTenderTypeEnum } from '../../../enums/paymentTenderTypeEnum';
|
|
|
9
9
|
* @param {(paymentFormResult: any) => void} onStatusChange
|
|
10
10
|
* @return {*} {*}
|
|
11
11
|
*/
|
|
12
|
-
export declare const usePaymentProviderForm: (paymentMethod: PaymentTenderTypeEnum, providerType: any, providerProps: any, onStatusChange?: (paymentFormResult: any) => void, paymentDetails?: any, data?: PaymentMethodData) => any;
|
|
12
|
+
export declare const usePaymentProviderForm: (paymentMethod: PaymentTenderTypeEnum, providerType: any, providerProps: any, onStatusChange?: (paymentFormResult: any) => void, paymentDetails?: any, data?: PaymentMethodData, s2sToken?: string, s2sTenantId?: string) => any;
|
|
13
13
|
//# sourceMappingURL=usePaymentProviderForm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaymentProviderForm.d.ts","sourceRoot":"","sources":["../../../../src/utilities/form/paymentForm/usePaymentProviderForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAM7E;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"usePaymentProviderForm.d.ts","sourceRoot":"","sources":["../../../../src/utilities/form/paymentForm/usePaymentProviderForm.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAM7E;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,kOAmDlC,CAAC"}
|
|
@@ -12,14 +12,14 @@ import { PaymentusForm } from './vendorsForms/PaymentusForm';
|
|
|
12
12
|
* @param {(paymentFormResult: any) => void} onStatusChange
|
|
13
13
|
* @return {*} {*}
|
|
14
14
|
*/
|
|
15
|
-
export const usePaymentProviderForm = (paymentMethod, providerType, providerProps, onStatusChange, paymentDetails, data) => {
|
|
15
|
+
export const usePaymentProviderForm = (paymentMethod, providerType, providerProps, onStatusChange, paymentDetails, data, s2sToken, s2sTenantId) => {
|
|
16
16
|
switch (providerType) {
|
|
17
17
|
case PaymentVendorFactoryEnum.ICheck:
|
|
18
18
|
return (React.createElement(ICheckForm, Object.assign({ paymentMethod: paymentMethod, onStatusChange: onStatusChange, paymentDetails: paymentDetails, paymentData: data }, providerProps)));
|
|
19
19
|
case PaymentVendorFactoryEnum.Fiserv:
|
|
20
20
|
return (React.createElement(FiservForm, Object.assign({ paymentMethod: paymentMethod, onStatusChange: onStatusChange, paymentData: data }, providerProps)));
|
|
21
21
|
case PaymentVendorFactoryEnum.Paymentus:
|
|
22
|
-
return (React.createElement(PaymentusForm, Object.assign({ paymentMethod: paymentMethod, onStatusChange: onStatusChange, paymentDetails: paymentDetails, paymentData: data }, providerProps)));
|
|
22
|
+
return (React.createElement(PaymentusForm, Object.assign({ paymentMethod: paymentMethod, onStatusChange: onStatusChange, paymentDetails: paymentDetails, paymentData: data, s2sToken: s2sToken, s2sTenantId: s2sTenantId }, providerProps)));
|
|
23
23
|
case PaymentVendorFactoryEnum.Stripe:
|
|
24
24
|
// TODO: StripeForm component
|
|
25
25
|
return React.createElement(React.Fragment, null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaymentProviderForm.js","sourceRoot":"","sources":["../../../../src/utilities/form/paymentForm/usePaymentProviderForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,aAAgD,EAChD,YAAiB,EACjB,aAAkB,EAClB,cAAiD,EACjD,cAAoB,EACpB,IAAwB,
|
|
1
|
+
{"version":3,"file":"usePaymentProviderForm.js","sourceRoot":"","sources":["../../../../src/utilities/form/paymentForm/usePaymentProviderForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,wBAAwB,EAAE,MAAM,yCAAyC,CAAC;AACnF,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,aAAgD,EAChD,YAAiB,EACjB,aAAkB,EAClB,cAAiD,EACjD,cAAoB,EACpB,IAAwB,EACxB,QAAiB,EACjB,WAAoB,EACf,EAAE,CAAC;IACR,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,wBAAwB,CAAC,MAAM;YAClC,OAAO,CACL,oBAAC,UAAU,kBACT,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,IAAI,IACb,aAAa,EACjB,CACH,CAAC;QACJ,KAAK,wBAAwB,CAAC,MAAM;YAClC,OAAO,CACL,oBAAC,UAAU,kBACT,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,IAAI,IACb,aAAa,EACjB,CACH,CAAC;QACJ,KAAK,wBAAwB,CAAC,SAAS;YACrC,OAAO,CACL,oBAAC,aAAa,kBACZ,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,EAC9B,cAAc,EAAE,cAAc,EAC9B,WAAW,EAAE,IAAI,EACjB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,IACpB,aAAa,EACjB,CACH,CAAC;QACJ,KAAK,wBAAwB,CAAC,MAAM;YAClC,6BAA6B;YAC7B,OAAO,yCAAK,CAAC;QACf,KAAK,wBAAwB,CAAC,YAAY;YACxC,+BAA+B;YAC/B,OAAO,yCAAK,CAAC;QACf;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AAAA,CACF,CAAC"}
|