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
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
//#region src/udp/pages/UdpQuestionFormOverviewPage/questionInsights.js
|
|
2
|
+
const FIELD_TYPE = Object.freeze({
|
|
3
|
+
Hidden: 1,
|
|
4
|
+
SingleLineText: 2,
|
|
5
|
+
MultiLineText: 3,
|
|
6
|
+
Checkbox: 4,
|
|
7
|
+
RadioButton: 5,
|
|
8
|
+
DropdownSingleSelect: 6,
|
|
9
|
+
DropdownMultipleSelect: 7,
|
|
10
|
+
ListMultiSelect: 8,
|
|
11
|
+
DateSelector: 9,
|
|
12
|
+
TimeSelector: 10,
|
|
13
|
+
DateTimeSelector: 11,
|
|
14
|
+
FileUpload: 12,
|
|
15
|
+
YesNo: 13,
|
|
16
|
+
Signature: 14,
|
|
17
|
+
Tally: 15,
|
|
18
|
+
Number: 16,
|
|
19
|
+
Paragraph: 17,
|
|
20
|
+
ImageUpload: 18,
|
|
21
|
+
FormMetadataDisplay: 19,
|
|
22
|
+
Location: 20,
|
|
23
|
+
Table: 21
|
|
24
|
+
});
|
|
25
|
+
const DISPLAY_ONLY = new Set([
|
|
26
|
+
FIELD_TYPE.Hidden,
|
|
27
|
+
FIELD_TYPE.Paragraph,
|
|
28
|
+
FIELD_TYPE.FormMetadataDisplay
|
|
29
|
+
]);
|
|
30
|
+
const isDisplayOnly = (fieldTypeId) => DISPLAY_ONLY.has(fieldTypeId);
|
|
31
|
+
const FIELD_TYPE_NAME = {
|
|
32
|
+
[FIELD_TYPE.SingleLineText]: "Text",
|
|
33
|
+
[FIELD_TYPE.MultiLineText]: "Long text",
|
|
34
|
+
[FIELD_TYPE.Checkbox]: "Checkbox",
|
|
35
|
+
[FIELD_TYPE.RadioButton]: "Radio",
|
|
36
|
+
[FIELD_TYPE.DropdownSingleSelect]: "Dropdown",
|
|
37
|
+
[FIELD_TYPE.DropdownMultipleSelect]: "Multi dropdown",
|
|
38
|
+
[FIELD_TYPE.ListMultiSelect]: "List",
|
|
39
|
+
[FIELD_TYPE.DateSelector]: "Date",
|
|
40
|
+
[FIELD_TYPE.TimeSelector]: "Time",
|
|
41
|
+
[FIELD_TYPE.DateTimeSelector]: "Date & time",
|
|
42
|
+
[FIELD_TYPE.FileUpload]: "File",
|
|
43
|
+
[FIELD_TYPE.YesNo]: "Yes / No",
|
|
44
|
+
[FIELD_TYPE.Signature]: "Signature",
|
|
45
|
+
[FIELD_TYPE.Tally]: "Tally",
|
|
46
|
+
[FIELD_TYPE.Number]: "Number",
|
|
47
|
+
[FIELD_TYPE.ImageUpload]: "Image",
|
|
48
|
+
[FIELD_TYPE.Location]: "Location",
|
|
49
|
+
[FIELD_TYPE.Table]: "Table"
|
|
50
|
+
};
|
|
51
|
+
const FIELD_TYPE_ICON = {
|
|
52
|
+
[FIELD_TYPE.SingleLineText]: "text-font",
|
|
53
|
+
[FIELD_TYPE.MultiLineText]: "text-paragraph",
|
|
54
|
+
[FIELD_TYPE.Checkbox]: "checkbox-checked",
|
|
55
|
+
[FIELD_TYPE.RadioButton]: "radio-button",
|
|
56
|
+
[FIELD_TYPE.DropdownSingleSelect]: "chevron-down",
|
|
57
|
+
[FIELD_TYPE.DropdownMultipleSelect]: "list",
|
|
58
|
+
[FIELD_TYPE.ListMultiSelect]: "apps-list-detail",
|
|
59
|
+
[FIELD_TYPE.DateSelector]: "calendar",
|
|
60
|
+
[FIELD_TYPE.TimeSelector]: "clock",
|
|
61
|
+
[FIELD_TYPE.DateTimeSelector]: "calendar-clock",
|
|
62
|
+
[FIELD_TYPE.FileUpload]: "cloud-upload",
|
|
63
|
+
[FIELD_TYPE.YesNo]: "checkmark",
|
|
64
|
+
[FIELD_TYPE.Signature]: "document",
|
|
65
|
+
[FIELD_TYPE.Tally]: "apps-list",
|
|
66
|
+
[FIELD_TYPE.Number]: "number",
|
|
67
|
+
[FIELD_TYPE.ImageUpload]: "cloud-upload",
|
|
68
|
+
[FIELD_TYPE.Location]: "location",
|
|
69
|
+
[FIELD_TYPE.Table]: "table"
|
|
70
|
+
};
|
|
71
|
+
const getFieldTypeIcon = (fieldTypeId) => FIELD_TYPE_ICON[fieldTypeId] ?? "question";
|
|
72
|
+
const TYPE_FAMILIES = [
|
|
73
|
+
{
|
|
74
|
+
key: "text",
|
|
75
|
+
label: "Text",
|
|
76
|
+
types: [FIELD_TYPE.SingleLineText, FIELD_TYPE.MultiLineText]
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: "number",
|
|
80
|
+
label: "Number",
|
|
81
|
+
types: [FIELD_TYPE.Number]
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
key: "choice",
|
|
85
|
+
label: "Choice",
|
|
86
|
+
types: [
|
|
87
|
+
FIELD_TYPE.Checkbox,
|
|
88
|
+
FIELD_TYPE.RadioButton,
|
|
89
|
+
FIELD_TYPE.DropdownSingleSelect,
|
|
90
|
+
FIELD_TYPE.DropdownMultipleSelect,
|
|
91
|
+
FIELD_TYPE.ListMultiSelect,
|
|
92
|
+
FIELD_TYPE.YesNo
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
key: "datetime",
|
|
97
|
+
label: "Date & time",
|
|
98
|
+
types: [
|
|
99
|
+
FIELD_TYPE.DateSelector,
|
|
100
|
+
FIELD_TYPE.TimeSelector,
|
|
101
|
+
FIELD_TYPE.DateTimeSelector
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
{
|
|
105
|
+
key: "files",
|
|
106
|
+
label: "Files",
|
|
107
|
+
types: [
|
|
108
|
+
FIELD_TYPE.FileUpload,
|
|
109
|
+
FIELD_TYPE.ImageUpload,
|
|
110
|
+
FIELD_TYPE.Signature
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
key: "other",
|
|
115
|
+
label: "Other",
|
|
116
|
+
types: [
|
|
117
|
+
FIELD_TYPE.Location,
|
|
118
|
+
FIELD_TYPE.Table,
|
|
119
|
+
FIELD_TYPE.Tally
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
];
|
|
123
|
+
const FAMILY_BY_TYPE = (() => {
|
|
124
|
+
const m = {};
|
|
125
|
+
for (const fam of TYPE_FAMILIES) for (const t of fam.types) m[t] = fam.key;
|
|
126
|
+
return m;
|
|
127
|
+
})();
|
|
128
|
+
const getFamilyKey = (fieldTypeId) => FAMILY_BY_TYPE[fieldTypeId] ?? "other";
|
|
129
|
+
const tryParse = (v) => {
|
|
130
|
+
if (v == null) return null;
|
|
131
|
+
if (typeof v === "object") return v;
|
|
132
|
+
if (typeof v !== "string") return null;
|
|
133
|
+
try {
|
|
134
|
+
return JSON.parse(v);
|
|
135
|
+
} catch {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
const isEmpty = (raw) => raw == null || raw === "";
|
|
140
|
+
const SUFFIX_RE = (sectionName) => new RegExp(`^${sectionName.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")}(?:_\\d+)?$`);
|
|
141
|
+
const readSlotValues = (submission, sectionName, questionName) => {
|
|
142
|
+
const data = tryParse(submission?.formSubmission_Data);
|
|
143
|
+
const responseData = data?.SubmissionResponseData ?? data?.submissionResponseData;
|
|
144
|
+
if (!responseData) return [];
|
|
145
|
+
const re = SUFFIX_RE(sectionName);
|
|
146
|
+
const values = [];
|
|
147
|
+
for (const [secKey, secValue] of Object.entries(responseData)) {
|
|
148
|
+
if (!re.test(secKey)) continue;
|
|
149
|
+
const slot = secValue?.[questionName] ?? secValue?.[questionName?.toLowerCase?.()];
|
|
150
|
+
const raw = slot?.Value ?? slot?.value;
|
|
151
|
+
if (raw === void 0) continue;
|
|
152
|
+
values.push(raw);
|
|
153
|
+
}
|
|
154
|
+
return values;
|
|
155
|
+
};
|
|
156
|
+
const getOptionList = (question) => {
|
|
157
|
+
const items = question?.fieldProperties?.items;
|
|
158
|
+
if (!Array.isArray(items)) return [];
|
|
159
|
+
return items.filter((i) => i && typeof i === "object").map((i) => ({
|
|
160
|
+
display: String(i.display ?? i.value ?? ""),
|
|
161
|
+
value: String(i.value ?? i.display ?? "")
|
|
162
|
+
})).filter((o) => o.display.length > 0 || o.value.length > 0);
|
|
163
|
+
};
|
|
164
|
+
const aggregateChoice = (question, values) => {
|
|
165
|
+
const options = getOptionList(question);
|
|
166
|
+
const counts = /* @__PURE__ */ new Map();
|
|
167
|
+
let answered = 0;
|
|
168
|
+
let skipped = 0;
|
|
169
|
+
for (const v of values) {
|
|
170
|
+
if (isEmpty(v)) {
|
|
171
|
+
skipped++;
|
|
172
|
+
continue;
|
|
173
|
+
}
|
|
174
|
+
answered++;
|
|
175
|
+
counts.set(v, (counts.get(v) ?? 0) + 1);
|
|
176
|
+
}
|
|
177
|
+
const top = [];
|
|
178
|
+
if (options.length > 0) {
|
|
179
|
+
for (const opt of options) top.push([opt.display, counts.get(opt.value) ?? 0]);
|
|
180
|
+
for (const [val, count] of counts.entries()) if (!options.find((o) => o.value === val)) top.push([val, count]);
|
|
181
|
+
} else for (const [val, count] of counts.entries()) top.push([val, count]);
|
|
182
|
+
top.sort((a, b) => b[1] - a[1]);
|
|
183
|
+
return {
|
|
184
|
+
kind: "top",
|
|
185
|
+
viz: "donut",
|
|
186
|
+
answered,
|
|
187
|
+
skipped,
|
|
188
|
+
top
|
|
189
|
+
};
|
|
190
|
+
};
|
|
191
|
+
const aggregateMultiChoice = (question, values) => {
|
|
192
|
+
const options = getOptionList(question);
|
|
193
|
+
const counts = /* @__PURE__ */ new Map();
|
|
194
|
+
let answered = 0;
|
|
195
|
+
let skipped = 0;
|
|
196
|
+
for (const raw of values) {
|
|
197
|
+
if (isEmpty(raw)) {
|
|
198
|
+
skipped++;
|
|
199
|
+
continue;
|
|
200
|
+
}
|
|
201
|
+
answered++;
|
|
202
|
+
const parts = String(raw).split(",").map((s) => s.trim()).filter(Boolean);
|
|
203
|
+
for (const p of parts) counts.set(p, (counts.get(p) ?? 0) + 1);
|
|
204
|
+
}
|
|
205
|
+
const top = [];
|
|
206
|
+
if (options.length > 0) {
|
|
207
|
+
for (const opt of options) top.push([opt.display, counts.get(opt.value) ?? 0]);
|
|
208
|
+
for (const [val, count] of counts.entries()) if (!options.find((o) => o.value === val)) top.push([val, count]);
|
|
209
|
+
} else for (const [val, count] of counts.entries()) top.push([val, count]);
|
|
210
|
+
top.sort((a, b) => b[1] - a[1]);
|
|
211
|
+
return {
|
|
212
|
+
kind: "top",
|
|
213
|
+
viz: "bar-h",
|
|
214
|
+
answered,
|
|
215
|
+
skipped,
|
|
216
|
+
top
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
const aggregateYesNo = (_question, values) => {
|
|
220
|
+
let yes = 0;
|
|
221
|
+
let no = 0;
|
|
222
|
+
let skipped = 0;
|
|
223
|
+
for (const v of values) if (v === "true") yes++;
|
|
224
|
+
else if (v === "false") no++;
|
|
225
|
+
else skipped++;
|
|
226
|
+
return {
|
|
227
|
+
kind: "top",
|
|
228
|
+
viz: "donut",
|
|
229
|
+
answered: yes + no,
|
|
230
|
+
skipped,
|
|
231
|
+
top: [["Yes", yes], ["No", no]]
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
const formatNum = (n) => Number.isInteger(n) ? String(n) : n.toFixed(1);
|
|
235
|
+
const aggregateNumber = (_question, values) => {
|
|
236
|
+
const nums = [];
|
|
237
|
+
let skipped = 0;
|
|
238
|
+
for (const v of values) {
|
|
239
|
+
if (isEmpty(v)) {
|
|
240
|
+
skipped++;
|
|
241
|
+
continue;
|
|
242
|
+
}
|
|
243
|
+
const n = Number(v);
|
|
244
|
+
if (Number.isFinite(n)) nums.push(n);
|
|
245
|
+
}
|
|
246
|
+
if (nums.length === 0) return {
|
|
247
|
+
kind: "stat",
|
|
248
|
+
viz: "stat",
|
|
249
|
+
answered: 0,
|
|
250
|
+
skipped,
|
|
251
|
+
stat: null
|
|
252
|
+
};
|
|
253
|
+
const sorted = [...nums].sort((a, b) => a - b);
|
|
254
|
+
const min = sorted[0];
|
|
255
|
+
const max = sorted[sorted.length - 1];
|
|
256
|
+
const avg = nums.reduce((a, b) => a + b, 0) / nums.length;
|
|
257
|
+
const percentile = (p) => {
|
|
258
|
+
if (sorted.length === 1) return sorted[0];
|
|
259
|
+
return sorted[Math.min(sorted.length - 1, Math.floor((sorted.length - 1) * p))];
|
|
260
|
+
};
|
|
261
|
+
return {
|
|
262
|
+
kind: "stat",
|
|
263
|
+
viz: "stat",
|
|
264
|
+
answered: nums.length,
|
|
265
|
+
skipped,
|
|
266
|
+
stat: {
|
|
267
|
+
avg: formatNum(avg),
|
|
268
|
+
min: formatNum(min),
|
|
269
|
+
max: formatNum(max),
|
|
270
|
+
p50: formatNum(percentile(.5)),
|
|
271
|
+
p90: formatNum(percentile(.9))
|
|
272
|
+
}
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
const aggregateText = (_question, values) => {
|
|
276
|
+
const counts = /* @__PURE__ */ new Map();
|
|
277
|
+
let answered = 0;
|
|
278
|
+
let skipped = 0;
|
|
279
|
+
for (const v of values) {
|
|
280
|
+
if (isEmpty(v)) {
|
|
281
|
+
skipped++;
|
|
282
|
+
continue;
|
|
283
|
+
}
|
|
284
|
+
answered++;
|
|
285
|
+
const key = String(v).trim();
|
|
286
|
+
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
287
|
+
}
|
|
288
|
+
const sorted = Array.from(counts.entries()).sort((a, b) => b[1] - a[1]);
|
|
289
|
+
const top = sorted.slice(0, 5);
|
|
290
|
+
const tail = sorted.slice(5);
|
|
291
|
+
if (tail.length > 0) {
|
|
292
|
+
const tailSum = tail.reduce((sum, [, c]) => sum + c, 0);
|
|
293
|
+
if (tailSum > 0) top.push(["Other", tailSum]);
|
|
294
|
+
}
|
|
295
|
+
return {
|
|
296
|
+
kind: "top",
|
|
297
|
+
viz: "bar-h",
|
|
298
|
+
answered,
|
|
299
|
+
skipped,
|
|
300
|
+
top
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
const bucketDate = (d) => {
|
|
304
|
+
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, "0")}`;
|
|
305
|
+
};
|
|
306
|
+
const bucketHour = (timeStr) => {
|
|
307
|
+
const m = String(timeStr).match(/^(\d{1,2}):/);
|
|
308
|
+
if (!m) return null;
|
|
309
|
+
const h = Number(m[1]);
|
|
310
|
+
if (Number.isNaN(h) || h < 0 || h > 23) return null;
|
|
311
|
+
return `${String(h).padStart(2, "0")}:00`;
|
|
312
|
+
};
|
|
313
|
+
const aggregateDate = (_question, values) => {
|
|
314
|
+
const counts = /* @__PURE__ */ new Map();
|
|
315
|
+
let answered = 0;
|
|
316
|
+
let skipped = 0;
|
|
317
|
+
for (const v of values) {
|
|
318
|
+
if (isEmpty(v)) {
|
|
319
|
+
skipped++;
|
|
320
|
+
continue;
|
|
321
|
+
}
|
|
322
|
+
const d = new Date(v);
|
|
323
|
+
if (Number.isNaN(d.getTime())) {
|
|
324
|
+
skipped++;
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
answered++;
|
|
328
|
+
const key = bucketDate(d);
|
|
329
|
+
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
330
|
+
}
|
|
331
|
+
const top = Array.from(counts.entries()).sort((a, b) => a[0] > b[0] ? 1 : -1);
|
|
332
|
+
return {
|
|
333
|
+
kind: "top",
|
|
334
|
+
viz: "area",
|
|
335
|
+
answered,
|
|
336
|
+
skipped,
|
|
337
|
+
top
|
|
338
|
+
};
|
|
339
|
+
};
|
|
340
|
+
const aggregateTime = (_question, values) => {
|
|
341
|
+
const counts = /* @__PURE__ */ new Map();
|
|
342
|
+
let answered = 0;
|
|
343
|
+
let skipped = 0;
|
|
344
|
+
for (const v of values) {
|
|
345
|
+
if (isEmpty(v)) {
|
|
346
|
+
skipped++;
|
|
347
|
+
continue;
|
|
348
|
+
}
|
|
349
|
+
const key = bucketHour(v);
|
|
350
|
+
if (key == null) {
|
|
351
|
+
skipped++;
|
|
352
|
+
continue;
|
|
353
|
+
}
|
|
354
|
+
answered++;
|
|
355
|
+
counts.set(key, (counts.get(key) ?? 0) + 1);
|
|
356
|
+
}
|
|
357
|
+
const top = Array.from(counts.entries()).sort((a, b) => a[0] > b[0] ? 1 : -1);
|
|
358
|
+
return {
|
|
359
|
+
kind: "top",
|
|
360
|
+
viz: "bar-v",
|
|
361
|
+
answered,
|
|
362
|
+
skipped,
|
|
363
|
+
top
|
|
364
|
+
};
|
|
365
|
+
};
|
|
366
|
+
const aggregatePresence = (_question, values, kind = "count") => {
|
|
367
|
+
let answered = 0;
|
|
368
|
+
let skipped = 0;
|
|
369
|
+
for (const v of values) {
|
|
370
|
+
if (isEmpty(v)) {
|
|
371
|
+
skipped++;
|
|
372
|
+
continue;
|
|
373
|
+
}
|
|
374
|
+
answered++;
|
|
375
|
+
}
|
|
376
|
+
return {
|
|
377
|
+
kind,
|
|
378
|
+
viz: "presence",
|
|
379
|
+
answered,
|
|
380
|
+
skipped
|
|
381
|
+
};
|
|
382
|
+
};
|
|
383
|
+
const getQuestionInsight = (section, question, submissions) => {
|
|
384
|
+
if (!section || !question) return null;
|
|
385
|
+
if (isDisplayOnly(question.fieldTypeId)) return null;
|
|
386
|
+
const values = [];
|
|
387
|
+
for (const sub of submissions ?? []) for (const v of readSlotValues(sub, section.name, question.name)) values.push(v);
|
|
388
|
+
switch (question.fieldTypeId) {
|
|
389
|
+
case FIELD_TYPE.YesNo: return aggregateYesNo(question, values);
|
|
390
|
+
case FIELD_TYPE.Number: return aggregateNumber(question, values);
|
|
391
|
+
case FIELD_TYPE.RadioButton:
|
|
392
|
+
case FIELD_TYPE.DropdownSingleSelect: return aggregateChoice(question, values);
|
|
393
|
+
case FIELD_TYPE.Checkbox:
|
|
394
|
+
case FIELD_TYPE.DropdownMultipleSelect:
|
|
395
|
+
case FIELD_TYPE.ListMultiSelect: return aggregateMultiChoice(question, values);
|
|
396
|
+
case FIELD_TYPE.DateSelector:
|
|
397
|
+
case FIELD_TYPE.DateTimeSelector: return aggregateDate(question, values);
|
|
398
|
+
case FIELD_TYPE.TimeSelector: return aggregateTime(question, values);
|
|
399
|
+
case FIELD_TYPE.SingleLineText:
|
|
400
|
+
case FIELD_TYPE.MultiLineText: return aggregateText(question, values);
|
|
401
|
+
case FIELD_TYPE.FileUpload:
|
|
402
|
+
case FIELD_TYPE.ImageUpload: return aggregatePresence(question, values, "file");
|
|
403
|
+
case FIELD_TYPE.Signature:
|
|
404
|
+
case FIELD_TYPE.Location:
|
|
405
|
+
case FIELD_TYPE.Table: return aggregatePresence(question, values, "count");
|
|
406
|
+
case FIELD_TYPE.Tally: return {
|
|
407
|
+
kind: "unsupported",
|
|
408
|
+
viz: "message",
|
|
409
|
+
reason: "Tally is computed live — no aggregate."
|
|
410
|
+
};
|
|
411
|
+
default: return {
|
|
412
|
+
kind: "unsupported",
|
|
413
|
+
viz: "message",
|
|
414
|
+
reason: "No insight available for this field type."
|
|
415
|
+
};
|
|
416
|
+
}
|
|
417
|
+
};
|
|
418
|
+
//#endregion
|
|
419
|
+
export { FIELD_TYPE_NAME, TYPE_FAMILIES, getFamilyKey, getFieldTypeIcon, getQuestionInsight, isDisplayOnly };
|
|
420
|
+
|
|
421
|
+
//# sourceMappingURL=questionInsights.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questionInsights.mjs","names":["FIELD_TYPE","Object","freeze","Hidden","SingleLineText","MultiLineText","Checkbox","RadioButton","DropdownSingleSelect","DropdownMultipleSelect","ListMultiSelect","DateSelector","TimeSelector","DateTimeSelector","FileUpload","YesNo","Signature","Tally","Number","Paragraph","ImageUpload","FormMetadataDisplay","Location","Table","DISPLAY_ONLY","Set","isDisplayOnly","fieldTypeId","has","FIELD_TYPE_NAME","FIELD_TYPE_ICON","getFieldTypeIcon","TYPE_FAMILIES","key","label","types","FAMILY_BY_TYPE","m","fam","t","getFamilyKey","tryParse","v","JSON","parse","isEmpty","raw","SUFFIX_RE","sectionName","RegExp","replace","readSlotValues","submission","questionName","data","formSubmission_Data","responseData","SubmissionResponseData","submissionResponseData","re","values","secKey","secValue","entries","test","slot","toLowerCase","Value","value","undefined","push","getOptionList","question","items","fieldProperties","Array","isArray","filter","i","map","display","String","o","length","aggregateChoice","options","counts","Map","answered","skipped","set","get","top","opt","val","count","find","sort","a","b","kind","viz","aggregateMultiChoice","parts","split","s","trim","Boolean","p","aggregateYesNo","_question","yes","no","formatNum","n","isInteger","toFixed","aggregateNumber","nums","isFinite","stat","sorted","min","max","sum","reduce","avg","percentile","idx","Math","floor","p50","p90","aggregateText","from","slice","tail","tailSum","c","bucketDate","d","yyyy","getFullYear","mm","getMonth","padStart","bucketHour","timeStr","match","h","isNaN","aggregateDate","Date","getTime","aggregateTime","aggregatePresence","getQuestionInsight","section","submissions","sub","name","reason"],"sources":["../../../../src/udp/pages/UdpQuestionFormOverviewPage/questionInsights.js"],"sourcesContent":["// Per-question insight aggregation for the form overview tabs.\n// Pure functions only — given a section + question definition and the list\n// of submissions returned from `/UdpFormWithSubmissionsView/search`, produce\n// a normalized `{ kind, ... }` shape the renderer can dispatch on.\n//\n// Backend stores `formSubmission_Data` as PascalCase JSON; the original copy\n// of a section uses its bare name (`section1`), repeatable-section copies\n// use suffixed keys (`section1_2`, `section1_3`, …). The aggregator walks\n// every copy so repeatable sections contribute all instances.\n\nexport const FIELD_TYPE = Object.freeze({\n Hidden: 1,\n SingleLineText: 2,\n MultiLineText: 3,\n Checkbox: 4,\n RadioButton: 5,\n DropdownSingleSelect: 6,\n DropdownMultipleSelect: 7,\n ListMultiSelect: 8,\n DateSelector: 9,\n TimeSelector: 10,\n DateTimeSelector: 11,\n FileUpload: 12,\n YesNo: 13,\n Signature: 14,\n Tally: 15,\n Number: 16,\n Paragraph: 17,\n ImageUpload: 18,\n FormMetadataDisplay: 19,\n Location: 20,\n Table: 21,\n});\n\nconst DISPLAY_ONLY = new Set([\n FIELD_TYPE.Hidden,\n FIELD_TYPE.Paragraph,\n FIELD_TYPE.FormMetadataDisplay,\n]);\nexport const isDisplayOnly = (fieldTypeId) => DISPLAY_ONLY.has(fieldTypeId);\n\nexport const FIELD_TYPE_NAME = {\n [FIELD_TYPE.SingleLineText]: 'Text',\n [FIELD_TYPE.MultiLineText]: 'Long text',\n [FIELD_TYPE.Checkbox]: 'Checkbox',\n [FIELD_TYPE.RadioButton]: 'Radio',\n [FIELD_TYPE.DropdownSingleSelect]: 'Dropdown',\n [FIELD_TYPE.DropdownMultipleSelect]: 'Multi dropdown',\n [FIELD_TYPE.ListMultiSelect]: 'List',\n [FIELD_TYPE.DateSelector]: 'Date',\n [FIELD_TYPE.TimeSelector]: 'Time',\n [FIELD_TYPE.DateTimeSelector]: 'Date & time',\n [FIELD_TYPE.FileUpload]: 'File',\n [FIELD_TYPE.YesNo]: 'Yes / No',\n [FIELD_TYPE.Signature]: 'Signature',\n [FIELD_TYPE.Tally]: 'Tally',\n [FIELD_TYPE.Number]: 'Number',\n [FIELD_TYPE.ImageUpload]: 'Image',\n [FIELD_TYPE.Location]: 'Location',\n [FIELD_TYPE.Table]: 'Table',\n};\n\n// Fluent icon name per field type — mirrors the builder's template registry\n// (builder/form-item-types/templates.ts) so the Form Structure rail here reads\n// the same as the builder's outline.\nexport const FIELD_TYPE_ICON = {\n [FIELD_TYPE.SingleLineText]: 'text-font',\n [FIELD_TYPE.MultiLineText]: 'text-paragraph',\n [FIELD_TYPE.Checkbox]: 'checkbox-checked',\n [FIELD_TYPE.RadioButton]: 'radio-button',\n [FIELD_TYPE.DropdownSingleSelect]: 'chevron-down',\n [FIELD_TYPE.DropdownMultipleSelect]: 'list',\n [FIELD_TYPE.ListMultiSelect]: 'apps-list-detail',\n [FIELD_TYPE.DateSelector]: 'calendar',\n [FIELD_TYPE.TimeSelector]: 'clock',\n [FIELD_TYPE.DateTimeSelector]: 'calendar-clock',\n [FIELD_TYPE.FileUpload]: 'cloud-upload',\n [FIELD_TYPE.YesNo]: 'checkmark',\n [FIELD_TYPE.Signature]: 'document',\n [FIELD_TYPE.Tally]: 'apps-list',\n [FIELD_TYPE.Number]: 'number',\n [FIELD_TYPE.ImageUpload]: 'cloud-upload',\n [FIELD_TYPE.Location]: 'location',\n [FIELD_TYPE.Table]: 'table',\n};\nexport const getFieldTypeIcon = (fieldTypeId) => FIELD_TYPE_ICON[fieldTypeId] ?? 'question';\n\n// Type families for the filter chips. Each family groups the field types that\n// share an analytics shape. Trimmed to the types our system actually has —\n// the mockup's star-rating / NPS families have no corresponding field type.\nexport const TYPE_FAMILIES = [\n { key: 'text', label: 'Text', types: [FIELD_TYPE.SingleLineText, FIELD_TYPE.MultiLineText] },\n { key: 'number', label: 'Number', types: [FIELD_TYPE.Number] },\n {\n key: 'choice',\n label: 'Choice',\n types: [\n FIELD_TYPE.Checkbox,\n FIELD_TYPE.RadioButton,\n FIELD_TYPE.DropdownSingleSelect,\n FIELD_TYPE.DropdownMultipleSelect,\n FIELD_TYPE.ListMultiSelect,\n FIELD_TYPE.YesNo,\n ],\n },\n {\n key: 'datetime',\n label: 'Date & time',\n types: [FIELD_TYPE.DateSelector, FIELD_TYPE.TimeSelector, FIELD_TYPE.DateTimeSelector],\n },\n { key: 'files', label: 'Files', types: [FIELD_TYPE.FileUpload, FIELD_TYPE.ImageUpload, FIELD_TYPE.Signature] },\n { key: 'other', label: 'Other', types: [FIELD_TYPE.Location, FIELD_TYPE.Table, FIELD_TYPE.Tally] },\n];\n\nconst FAMILY_BY_TYPE = (() => {\n const m = {};\n for (const fam of TYPE_FAMILIES) for (const t of fam.types) m[t] = fam.key;\n return m;\n})();\nexport const getFamilyKey = (fieldTypeId) => FAMILY_BY_TYPE[fieldTypeId] ?? 'other';\n\nconst tryParse = (v) => {\n if (v == null) return null;\n if (typeof v === 'object') return v;\n if (typeof v !== 'string') return null;\n try { return JSON.parse(v); } catch { return null; }\n};\n\nconst isEmpty = (raw) => raw == null || raw === '';\n\n// Read every wire value submitted for (sectionName, questionName) across\n// original + repeatable-section copies (`section1`, `section1_2`, ...).\nconst SUFFIX_RE = (sectionName) =>\n new RegExp(`^${sectionName.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')}(?:_\\\\d+)?$`);\n\nconst readSlotValues = (submission, sectionName, questionName) => {\n const data = tryParse(submission?.formSubmission_Data);\n const responseData = data?.SubmissionResponseData ?? data?.submissionResponseData;\n if (!responseData) return [];\n const re = SUFFIX_RE(sectionName);\n const values = [];\n for (const [secKey, secValue] of Object.entries(responseData)) {\n if (!re.test(secKey)) continue;\n const slot = secValue?.[questionName] ?? secValue?.[questionName?.toLowerCase?.()];\n const raw = slot?.Value ?? slot?.value;\n if (raw === undefined) continue;\n values.push(raw);\n }\n return values;\n};\n\nconst getOptionList = (question) => {\n const items = question?.fieldProperties?.items;\n if (!Array.isArray(items)) return [];\n return items\n .filter((i) => i && typeof i === 'object')\n .map((i) => ({\n display: String(i.display ?? i.value ?? ''),\n value: String(i.value ?? i.display ?? ''),\n }))\n .filter((o) => o.display.length > 0 || o.value.length > 0);\n};\n\n// =======================================================================\n// Per-type aggregators. Each returns `{ kind, answered, skipped, ... }`.\n// The renderer dispatches on `kind`.\n// =======================================================================\n\nconst aggregateChoice = (question, values) => {\n const options = getOptionList(question);\n const counts = new Map();\n let answered = 0;\n let skipped = 0;\n for (const v of values) {\n if (isEmpty(v)) { skipped++; continue; }\n answered++;\n counts.set(v, (counts.get(v) ?? 0) + 1);\n }\n const top = [];\n if (options.length > 0) {\n for (const opt of options) {\n top.push([opt.display, counts.get(opt.value) ?? 0]);\n }\n for (const [val, count] of counts.entries()) {\n if (!options.find((o) => o.value === val)) top.push([val, count]);\n }\n } else {\n for (const [val, count] of counts.entries()) top.push([val, count]);\n }\n top.sort((a, b) => b[1] - a[1]);\n // Single-select → mutually exclusive answers → part-to-whole donut.\n return { kind: 'top', viz: 'donut', answered, skipped, top };\n};\n\nconst aggregateMultiChoice = (question, values) => {\n const options = getOptionList(question);\n const counts = new Map();\n let answered = 0;\n let skipped = 0;\n for (const raw of values) {\n if (isEmpty(raw)) { skipped++; continue; }\n answered++;\n const parts = String(raw).split(',').map((s) => s.trim()).filter(Boolean);\n for (const p of parts) counts.set(p, (counts.get(p) ?? 0) + 1);\n }\n const top = [];\n if (options.length > 0) {\n for (const opt of options) {\n top.push([opt.display, counts.get(opt.value) ?? 0]);\n }\n for (const [val, count] of counts.entries()) {\n if (!options.find((o) => o.value === val)) top.push([val, count]);\n }\n } else {\n for (const [val, count] of counts.entries()) top.push([val, count]);\n }\n top.sort((a, b) => b[1] - a[1]);\n // A submission can pick several → not part-to-whole → ranked horizontal bars.\n return { kind: 'top', viz: 'bar-h', answered, skipped, top };\n};\n\nconst aggregateYesNo = (_question, values) => {\n let yes = 0;\n let no = 0;\n let skipped = 0;\n for (const v of values) {\n if (v === 'true') yes++;\n else if (v === 'false') no++;\n else skipped++;\n }\n return {\n kind: 'top',\n viz: 'donut',\n answered: yes + no,\n skipped,\n top: [\n ['Yes', yes],\n ['No', no],\n ],\n };\n};\n\nconst formatNum = (n) => (Number.isInteger(n) ? String(n) : n.toFixed(1));\n\nconst aggregateNumber = (_question, values) => {\n const nums = [];\n let skipped = 0;\n for (const v of values) {\n if (isEmpty(v)) { skipped++; continue; }\n const n = Number(v);\n if (Number.isFinite(n)) nums.push(n);\n }\n if (nums.length === 0) {\n return { kind: 'stat', viz: 'stat', answered: 0, skipped, stat: null };\n }\n const sorted = [...nums].sort((a, b) => a - b);\n const min = sorted[0];\n const max = sorted[sorted.length - 1];\n const sum = nums.reduce((a, b) => a + b, 0);\n const avg = sum / nums.length;\n const percentile = (p) => {\n if (sorted.length === 1) return sorted[0];\n const idx = Math.min(sorted.length - 1, Math.floor((sorted.length - 1) * p));\n return sorted[idx];\n };\n return {\n kind: 'stat',\n viz: 'stat',\n answered: nums.length,\n skipped,\n stat: {\n avg: formatNum(avg),\n min: formatNum(min),\n max: formatNum(max),\n p50: formatNum(percentile(0.5)),\n p90: formatNum(percentile(0.9)),\n },\n };\n};\n\nconst aggregateText = (_question, values) => {\n const counts = new Map();\n let answered = 0;\n let skipped = 0;\n for (const v of values) {\n if (isEmpty(v)) { skipped++; continue; }\n answered++;\n const key = String(v).trim();\n counts.set(key, (counts.get(key) ?? 0) + 1);\n }\n // Top 5 most frequent answers; bucket the long tail as \"Other\".\n const sorted = Array.from(counts.entries()).sort((a, b) => b[1] - a[1]);\n const top = sorted.slice(0, 5);\n const tail = sorted.slice(5);\n if (tail.length > 0) {\n const tailSum = tail.reduce((sum, [, c]) => sum + c, 0);\n if (tailSum > 0) top.push(['Other', tailSum]);\n }\n // Free text → most-frequent answers ranked as horizontal bars.\n return { kind: 'top', viz: 'bar-h', answered, skipped, top };\n};\n\n// Date / Time / DateTime: bin into a \"top\" shape so they reuse the bar\n// renderer. Granularity picked to stay readable in the per-question card.\nconst bucketDate = (d) => {\n const yyyy = d.getFullYear();\n const mm = String(d.getMonth() + 1).padStart(2, '0');\n return `${yyyy}-${mm}`; // month bucket\n};\nconst bucketHour = (timeStr) => {\n const m = String(timeStr).match(/^(\\d{1,2}):/);\n if (!m) return null;\n const h = Number(m[1]);\n if (Number.isNaN(h) || h < 0 || h > 23) return null;\n return `${String(h).padStart(2, '0')}:00`;\n};\n\nconst aggregateDate = (_question, values) => {\n const counts = new Map();\n let answered = 0;\n let skipped = 0;\n for (const v of values) {\n if (isEmpty(v)) { skipped++; continue; }\n const d = new Date(v);\n if (Number.isNaN(d.getTime())) { skipped++; continue; }\n answered++;\n const key = bucketDate(d);\n counts.set(key, (counts.get(key) ?? 0) + 1);\n }\n const top = Array.from(counts.entries()).sort((a, b) => (a[0] > b[0] ? 1 : -1));\n // Chronological month buckets → filled trend over time.\n return { kind: 'top', viz: 'area', answered, skipped, top };\n};\n\nconst aggregateTime = (_question, values) => {\n const counts = new Map();\n let answered = 0;\n let skipped = 0;\n for (const v of values) {\n if (isEmpty(v)) { skipped++; continue; }\n const key = bucketHour(v);\n if (key == null) { skipped++; continue; }\n answered++;\n counts.set(key, (counts.get(key) ?? 0) + 1);\n }\n const top = Array.from(counts.entries()).sort((a, b) => (a[0] > b[0] ? 1 : -1));\n // Chronological hour-of-day buckets → vertical bars.\n return { kind: 'top', viz: 'bar-v', answered, skipped, top };\n};\n\n// Files / Images / Signature / Location / Table — just count which\n// submissions provided a value. The card renderer surfaces this as a\n// non-chart KPI plus a link affordance for the file types.\nconst aggregatePresence = (_question, values, kind = 'count') => {\n let answered = 0;\n let skipped = 0;\n for (const v of values) {\n if (isEmpty(v)) { skipped++; continue; }\n answered++;\n }\n // Provided vs skipped → small completeness donut + a count/link affordance.\n return { kind, viz: 'presence', answered, skipped };\n};\n\n// =======================================================================\n// Top-level dispatch\n// =======================================================================\n\nexport const getQuestionInsight = (section, question, submissions) => {\n if (!section || !question) return null;\n if (isDisplayOnly(question.fieldTypeId)) return null;\n\n const values = [];\n for (const sub of submissions ?? []) {\n for (const v of readSlotValues(sub, section.name, question.name)) {\n values.push(v);\n }\n }\n\n switch (question.fieldTypeId) {\n case FIELD_TYPE.YesNo:\n return aggregateYesNo(question, values);\n case FIELD_TYPE.Number:\n return aggregateNumber(question, values);\n case FIELD_TYPE.RadioButton:\n case FIELD_TYPE.DropdownSingleSelect:\n return aggregateChoice(question, values);\n case FIELD_TYPE.Checkbox:\n case FIELD_TYPE.DropdownMultipleSelect:\n case FIELD_TYPE.ListMultiSelect:\n return aggregateMultiChoice(question, values);\n case FIELD_TYPE.DateSelector:\n case FIELD_TYPE.DateTimeSelector:\n return aggregateDate(question, values);\n case FIELD_TYPE.TimeSelector:\n return aggregateTime(question, values);\n case FIELD_TYPE.SingleLineText:\n case FIELD_TYPE.MultiLineText:\n return aggregateText(question, values);\n case FIELD_TYPE.FileUpload:\n case FIELD_TYPE.ImageUpload:\n return aggregatePresence(question, values, 'file');\n case FIELD_TYPE.Signature:\n case FIELD_TYPE.Location:\n case FIELD_TYPE.Table:\n return aggregatePresence(question, values, 'count');\n case FIELD_TYPE.Tally:\n return { kind: 'unsupported', viz: 'message', reason: 'Tally is computed live — no aggregate.' };\n default:\n return { kind: 'unsupported', viz: 'message', reason: 'No insight available for this field type.' };\n }\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// Fetches the server-rendered PDF for a submission row and triggers a browser
|
|
2
|
+
// download. Throws on failure so the caller can surface an error.
|
|
3
|
+
export declare const downloadSubmissionReport: (row: any) => Promise<void>;
|
|
4
|
+
//# sourceMappingURL=submissionReportDownload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submissionReportDownload.d.ts","sourceRoot":"","sources":["../../../../src/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.js"],"names":[],"mappings":"AA8EA,8EAA8E;AAC9E,kEAAkE;AAClE,eAAO,MAAM,wBAAwB,6BAyBpC,CAAC"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { ConfigService } from '../../../configService';
|
|
2
|
+
import { apiMutate } from '../../../utilities/useAxiosMutate';
|
|
3
|
+
// Self-contained submission-PDF download helper for the Overview page's
|
|
4
|
+
// Submissions tab. Mirrors the legacy UdpFormsSubmissionGrid "Download Report"
|
|
5
|
+
// action but lives entirely here so the legacy grid stays untouched. The
|
|
6
|
+
// backend endpoint (GET /UdpFormSubmission/{id}/report) renders the PDF
|
|
7
|
+
// server-side via Siberix and already handles lookups, repeatable sections,
|
|
8
|
+
// and file/signature rehydration.
|
|
9
|
+
const SUBMITTED_STATUS = 2;
|
|
10
|
+
const tryParseJsonObject = (value) => {
|
|
11
|
+
if (!value || typeof value !== 'string')
|
|
12
|
+
return null;
|
|
13
|
+
try {
|
|
14
|
+
const parsed = JSON.parse(value);
|
|
15
|
+
return parsed && typeof parsed === 'object' ? parsed : null;
|
|
16
|
+
}
|
|
17
|
+
catch (_a) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const hasNonWhitespaceText = (v) => typeof v === 'string' && v.trim().length > 0;
|
|
22
|
+
const formatDateForFilename = (dateString) => {
|
|
23
|
+
if (!dateString)
|
|
24
|
+
return '';
|
|
25
|
+
let normalized = dateString;
|
|
26
|
+
if (typeof normalized === 'string' && normalized.includes(' ')) {
|
|
27
|
+
normalized = normalized.replace(' ', 'T');
|
|
28
|
+
}
|
|
29
|
+
if (typeof normalized === 'string' && !normalized.toUpperCase().endsWith('Z')) {
|
|
30
|
+
normalized = normalized + 'Z';
|
|
31
|
+
}
|
|
32
|
+
const date = new Date(normalized);
|
|
33
|
+
if (Number.isNaN(date.getTime()))
|
|
34
|
+
return '';
|
|
35
|
+
return date.toLocaleDateString(undefined, {
|
|
36
|
+
year: 'numeric',
|
|
37
|
+
month: 'long',
|
|
38
|
+
day: '2-digit',
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const sanitizeFilenamePart = (value) => String(value !== null && value !== void 0 ? value : '')
|
|
42
|
+
// Windows file name chars: \ / : * ? " < > |
|
|
43
|
+
.replace(/[\\/:*?"<>|]/g, '')
|
|
44
|
+
.replace(/\s+/g, ' ')
|
|
45
|
+
.trim();
|
|
46
|
+
const getSubmissionDisplayFormName = (row) => {
|
|
47
|
+
var _a;
|
|
48
|
+
const dataObj = tryParseJsonObject(row === null || row === void 0 ? void 0 : row.formSubmission_Data);
|
|
49
|
+
const overrideName = (_a = dataObj === null || dataObj === void 0 ? void 0 : dataObj.FormTemplateOverrides) === null || _a === void 0 ? void 0 : _a.FormName;
|
|
50
|
+
const baseName = row === null || row === void 0 ? void 0 : row.form_Name;
|
|
51
|
+
if (hasNonWhitespaceText(overrideName))
|
|
52
|
+
return overrideName.trim();
|
|
53
|
+
if (hasNonWhitespaceText(baseName))
|
|
54
|
+
return baseName.trim();
|
|
55
|
+
return 'Untitled Form';
|
|
56
|
+
};
|
|
57
|
+
const getBrowserTimeZone = () => {
|
|
58
|
+
try {
|
|
59
|
+
return Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC';
|
|
60
|
+
}
|
|
61
|
+
catch (_a) {
|
|
62
|
+
return 'UTC';
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
const buildReportFilename = (row) => {
|
|
66
|
+
const reportName = getSubmissionDisplayFormName(row);
|
|
67
|
+
const submissionOwner = (row === null || row === void 0 ? void 0 : row.formSubmission_UserDisplayName) || 'Unknown User';
|
|
68
|
+
const isSubmitted = Number(row === null || row === void 0 ? void 0 : row.formSubmission_Status) === SUBMITTED_STATUS;
|
|
69
|
+
const submittedLabel = isSubmitted
|
|
70
|
+
? formatDateForFilename(row === null || row === void 0 ? void 0 : row.formSubmission_SubmittedOn) || 'Submitted'
|
|
71
|
+
: 'Not Submitted';
|
|
72
|
+
return `${sanitizeFilenamePart(reportName)} - ${sanitizeFilenamePart(submissionOwner)} - ${sanitizeFilenamePart(submittedLabel)}.pdf`;
|
|
73
|
+
};
|
|
74
|
+
// Fetches the server-rendered PDF for a submission row and triggers a browser
|
|
75
|
+
// download. Throws on failure so the caller can surface an error.
|
|
76
|
+
export const downloadSubmissionReport = async (row) => {
|
|
77
|
+
const submissionId = row === null || row === void 0 ? void 0 : row.formSubmission_Id;
|
|
78
|
+
if (!submissionId)
|
|
79
|
+
throw new Error('Missing submission id');
|
|
80
|
+
const browserTimeZone = getBrowserTimeZone();
|
|
81
|
+
const response = await apiMutate(ConfigService.productV1ApiUrl, `udpFormSubmission/${submissionId}/report?timeZoneId=${encodeURIComponent(browserTimeZone)}&templateName=modern`, { method: 'GET', responseType: 'blob' }, {});
|
|
82
|
+
const blob = response.data;
|
|
83
|
+
const filename = buildReportFilename(row);
|
|
84
|
+
const blobUrl = window.URL.createObjectURL(blob);
|
|
85
|
+
const link = document.createElement('a');
|
|
86
|
+
link.href = blobUrl;
|
|
87
|
+
link.download = filename;
|
|
88
|
+
document.body.appendChild(link);
|
|
89
|
+
link.click();
|
|
90
|
+
document.body.removeChild(link);
|
|
91
|
+
window.URL.revokeObjectURL(blobUrl);
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=submissionReportDownload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"submissionReportDownload.js","sourceRoot":"","sources":["../../../../src/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { ConfigService } from "../../../configService/index.mjs";
|
|
2
|
+
import { apiMutate } from "../../../utilities/useAxiosMutate.mjs";
|
|
3
|
+
//#region src/udp/pages/UdpQuestionFormOverviewPage/submissionReportDownload.js
|
|
4
|
+
const SUBMITTED_STATUS = 2;
|
|
5
|
+
const tryParseJsonObject = (value) => {
|
|
6
|
+
if (!value || typeof value !== "string") return null;
|
|
7
|
+
try {
|
|
8
|
+
const parsed = JSON.parse(value);
|
|
9
|
+
return parsed && typeof parsed === "object" ? parsed : null;
|
|
10
|
+
} catch {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
};
|
|
14
|
+
const hasNonWhitespaceText = (v) => typeof v === "string" && v.trim().length > 0;
|
|
15
|
+
const formatDateForFilename = (dateString) => {
|
|
16
|
+
if (!dateString) return "";
|
|
17
|
+
let normalized = dateString;
|
|
18
|
+
if (typeof normalized === "string" && normalized.includes(" ")) normalized = normalized.replace(" ", "T");
|
|
19
|
+
if (typeof normalized === "string" && !normalized.toUpperCase().endsWith("Z")) normalized = normalized + "Z";
|
|
20
|
+
const date = new Date(normalized);
|
|
21
|
+
if (Number.isNaN(date.getTime())) return "";
|
|
22
|
+
return date.toLocaleDateString(void 0, {
|
|
23
|
+
year: "numeric",
|
|
24
|
+
month: "long",
|
|
25
|
+
day: "2-digit"
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
const sanitizeFilenamePart = (value) => String(value ?? "").replace(/[\\/:*?"<>|]/g, "").replace(/\s+/g, " ").trim();
|
|
29
|
+
const getSubmissionDisplayFormName = (row) => {
|
|
30
|
+
const overrideName = tryParseJsonObject(row?.formSubmission_Data)?.FormTemplateOverrides?.FormName;
|
|
31
|
+
const baseName = row?.form_Name;
|
|
32
|
+
if (hasNonWhitespaceText(overrideName)) return overrideName.trim();
|
|
33
|
+
if (hasNonWhitespaceText(baseName)) return baseName.trim();
|
|
34
|
+
return "Untitled Form";
|
|
35
|
+
};
|
|
36
|
+
const getBrowserTimeZone = () => {
|
|
37
|
+
try {
|
|
38
|
+
return Intl.DateTimeFormat().resolvedOptions().timeZone || "UTC";
|
|
39
|
+
} catch {
|
|
40
|
+
return "UTC";
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
const buildReportFilename = (row) => {
|
|
44
|
+
const reportName = getSubmissionDisplayFormName(row);
|
|
45
|
+
const submissionOwner = row?.formSubmission_UserDisplayName || "Unknown User";
|
|
46
|
+
const submittedLabel = Number(row?.formSubmission_Status) === SUBMITTED_STATUS ? formatDateForFilename(row?.formSubmission_SubmittedOn) || "Submitted" : "Not Submitted";
|
|
47
|
+
return `${sanitizeFilenamePart(reportName)} - ${sanitizeFilenamePart(submissionOwner)} - ${sanitizeFilenamePart(submittedLabel)}.pdf`;
|
|
48
|
+
};
|
|
49
|
+
const downloadSubmissionReport = async (row) => {
|
|
50
|
+
const submissionId = row?.formSubmission_Id;
|
|
51
|
+
if (!submissionId) throw new Error("Missing submission id");
|
|
52
|
+
const browserTimeZone = getBrowserTimeZone();
|
|
53
|
+
const blob = (await apiMutate(ConfigService.productV1ApiUrl, `udpFormSubmission/${submissionId}/report?timeZoneId=${encodeURIComponent(browserTimeZone)}&templateName=modern`, {
|
|
54
|
+
method: "GET",
|
|
55
|
+
responseType: "blob"
|
|
56
|
+
}, {})).data;
|
|
57
|
+
const filename = buildReportFilename(row);
|
|
58
|
+
const blobUrl = window.URL.createObjectURL(blob);
|
|
59
|
+
const link = document.createElement("a");
|
|
60
|
+
link.href = blobUrl;
|
|
61
|
+
link.download = filename;
|
|
62
|
+
document.body.appendChild(link);
|
|
63
|
+
link.click();
|
|
64
|
+
document.body.removeChild(link);
|
|
65
|
+
window.URL.revokeObjectURL(blobUrl);
|
|
66
|
+
};
|
|
67
|
+
//#endregion
|
|
68
|
+
export { downloadSubmissionReport };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=submissionReportDownload.mjs.map
|