@pagamio/frontend-commons-lib 0.8.175 → 0.8.183
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/lib/api/client.d.ts +88 -0
- package/lib/api/client.js +339 -0
- package/lib/api/context.d.ts +112 -0
- package/lib/api/context.js +105 -0
- package/lib/api/index.d.ts +4 -0
- package/lib/api/index.js +4 -0
- package/lib/api/swr.d.ts +46 -0
- package/lib/api/swr.js +124 -0
- package/lib/api/types.d.ts +145 -0
- package/lib/api/types.js +10 -0
- package/lib/auth/authenticators/AuthenticatorFactory.d.ts +25 -0
- package/lib/auth/authenticators/AuthenticatorFactory.js +32 -0
- package/lib/auth/authenticators/index.d.ts +7 -0
- package/lib/auth/authenticators/index.js +7 -0
- package/lib/auth/authenticators/processors/DefaultAuthenticatorProcessor.d.ts +21 -0
- package/lib/auth/authenticators/processors/DefaultAuthenticatorProcessor.js +26 -0
- package/lib/auth/authenticators/processors/StrapiAuthenticatorProcessor.d.ts +74 -0
- package/lib/auth/authenticators/processors/StrapiAuthenticatorProcessor.js +99 -0
- package/lib/auth/authenticators/types.d.ts +26 -0
- package/lib/auth/authenticators/types.js +9 -0
- package/lib/auth/components/AppBanner.d.ts +7 -0
- package/lib/auth/components/AppBanner.js +9 -0
- package/lib/auth/components/AuthCard.d.ts +8 -0
- package/lib/auth/components/AuthCard.js +14 -0
- package/lib/auth/components/AuthFormUtils.d.ts +58 -0
- package/lib/auth/components/AuthFormUtils.js +52 -0
- package/lib/auth/components/AuthPageLayout.d.ts +45 -0
- package/lib/auth/components/AuthPageLayout.js +12 -0
- package/lib/auth/components/ChangePasswordPage.d.ts +12 -0
- package/lib/auth/components/ChangePasswordPage.js +59 -0
- package/lib/auth/components/CustomerRegistrationPage.d.ts +50 -0
- package/lib/auth/components/CustomerRegistrationPage.js +140 -0
- package/lib/auth/components/ForgotPasswordPage.d.ts +38 -0
- package/lib/auth/components/ForgotPasswordPage.js +76 -0
- package/lib/auth/components/LoginPage.d.ts +73 -0
- package/lib/auth/components/LoginPage.js +115 -0
- package/lib/auth/components/LogoutButton.d.ts +30 -0
- package/lib/auth/components/LogoutButton.js +47 -0
- package/lib/auth/components/ResetPasswordPage.d.ts +42 -0
- package/lib/auth/components/ResetPasswordPage.js +88 -0
- package/lib/auth/components/hooks/useChangeUserPassword.d.ts +26 -0
- package/lib/auth/components/hooks/useChangeUserPassword.js +63 -0
- package/lib/auth/components/index.d.ts +8 -0
- package/lib/auth/components/index.js +7 -0
- package/lib/auth/context/AuthContext.d.ts +65 -0
- package/lib/auth/context/AuthContext.js +150 -0
- package/lib/auth/context/index.d.ts +1 -0
- package/lib/auth/context/index.js +1 -0
- package/lib/auth/index.d.ts +7 -0
- package/lib/auth/index.js +7 -0
- package/lib/auth/services/AuthService.d.ts +230 -0
- package/lib/auth/services/AuthService.js +475 -0
- package/lib/auth/services/LogoutService.d.ts +27 -0
- package/lib/auth/services/LogoutService.js +98 -0
- package/lib/auth/services/index.d.ts +2 -0
- package/lib/auth/services/index.js +2 -0
- package/lib/auth/shared/index.d.ts +1 -0
- package/lib/auth/shared/index.js +1 -0
- package/lib/auth/shared/layout/AuthPageLayout.d.ts +10 -0
- package/lib/auth/shared/layout/AuthPageLayout.js +16 -0
- package/lib/auth/shared/layout/index.d.ts +1 -0
- package/lib/auth/shared/layout/index.js +1 -0
- package/lib/auth/types/auth.types.d.ts +234 -0
- package/lib/auth/types/auth.types.js +14 -0
- package/lib/auth/types/index.d.ts +1 -0
- package/lib/auth/types/index.js +1 -0
- package/lib/auth/utils/TokenManager.d.ts +43 -0
- package/lib/auth/utils/TokenManager.js +171 -0
- package/lib/auth/utils/Transformers.d.ts +158 -0
- package/lib/auth/utils/Transformers.js +263 -0
- package/lib/auth/utils/errorDetection.d.ts +22 -0
- package/lib/auth/utils/errorDetection.js +190 -0
- package/lib/auth/utils/index.d.ts +3 -0
- package/lib/auth/utils/index.js +3 -0
- package/lib/components/charts/LineGraph.d.ts +15 -0
- package/lib/components/charts/LineGraph.js +131 -0
- package/lib/components/icons/Icon.d.ts +8 -0
- package/lib/components/icons/Icon.js +13 -0
- package/lib/components/icons/index.d.ts +2 -0
- package/lib/components/icons/index.js +2 -0
- package/lib/components/icons/types.d.ts +26 -0
- package/lib/components/icons/types.js +33 -0
- package/lib/components/index.d.ts +3 -0
- package/lib/components/index.js +3 -0
- package/lib/components/layout/AppLayout.d.ts +34 -0
- package/lib/components/layout/AppLayout.js +19 -0
- package/lib/components/layout/AuthPageLayout.d.ts +13 -0
- package/lib/components/layout/AuthPageLayout.js +15 -0
- package/lib/components/layout/BreadcrumbNav.d.ts +2 -0
- package/lib/components/layout/BreadcrumbNav.js +10 -0
- package/lib/components/layout/LayoutContent.d.ts +6 -0
- package/lib/components/layout/LayoutContent.js +10 -0
- package/lib/components/layout/Navbar.d.ts +106 -0
- package/lib/components/layout/Navbar.js +66 -0
- package/lib/components/layout/PageHeader.d.ts +8 -0
- package/lib/components/layout/PageHeader.js +7 -0
- package/lib/components/layout/SessionExpiryModal.d.ts +10 -0
- package/lib/components/layout/SessionExpiryModal.js +9 -0
- package/lib/components/layout/Sidebar.d.ts +6 -0
- package/lib/components/layout/Sidebar.js +87 -0
- package/lib/components/layout/VerticalTabsLayout.d.ts +12 -0
- package/lib/components/layout/VerticalTabsLayout.js +14 -0
- package/lib/components/layout/index.d.ts +9 -0
- package/lib/components/layout/index.js +9 -0
- package/lib/components/ui/Avatar.d.ts +6 -0
- package/lib/components/ui/Avatar.js +11 -0
- package/lib/components/ui/AvatarIcon.d.ts +4 -0
- package/lib/components/ui/AvatarIcon.js +6 -0
- package/lib/components/ui/Button.d.ts +14 -0
- package/lib/components/ui/Button.js +30 -0
- package/lib/components/ui/Calendar.d.ts +9 -0
- package/lib/components/ui/Calendar.js +35 -0
- package/lib/components/ui/Card.d.ts +16 -0
- package/lib/components/ui/Card.js +6 -0
- package/lib/components/ui/Chart.d.ts +2 -0
- package/lib/components/ui/Chart.js +16 -0
- package/lib/components/ui/Checkbox.d.ts +4 -0
- package/lib/components/ui/Checkbox.js +8 -0
- package/lib/components/ui/Command.d.ts +80 -0
- package/lib/components/ui/Command.js +28 -0
- package/lib/components/ui/ContainedTab.d.ts +21 -0
- package/lib/components/ui/ContainedTab.js +37 -0
- package/lib/components/ui/DateFormat.d.ts +6 -0
- package/lib/components/ui/DateFormat.js +8 -0
- package/lib/components/ui/DatePicker.d.ts +14 -0
- package/lib/components/ui/DatePicker.js +91 -0
- package/lib/components/ui/DateRangeModal.d.ts +38 -0
- package/lib/components/ui/DateRangeModal.js +89 -0
- package/lib/components/ui/DetailsCard.d.ts +16 -0
- package/lib/components/ui/DetailsCard.js +14 -0
- package/lib/components/ui/DetailsPage.d.ts +36 -0
- package/lib/components/ui/DetailsPage.js +50 -0
- package/lib/components/ui/Dialog.d.ts +19 -0
- package/lib/components/ui/Dialog.js +22 -0
- package/lib/components/ui/EmptyState.d.ts +6 -0
- package/lib/components/ui/EmptyState.js +6 -0
- package/lib/components/ui/FilterComponent.d.ts +30 -0
- package/lib/components/ui/FilterComponent.js +80 -0
- package/lib/components/ui/FilterList.d.ts +52 -0
- package/lib/components/ui/FilterList.js +62 -0
- package/lib/components/ui/FilterSection.d.ts +31 -0
- package/lib/components/ui/FilterSection.js +21 -0
- package/lib/components/ui/FilterWrapper.d.ts +6 -0
- package/lib/components/ui/FilterWrapper.js +7 -0
- package/lib/components/ui/Form.d.ts +23 -0
- package/lib/components/ui/Form.js +62 -0
- package/lib/components/ui/HoverableValue.d.ts +7 -0
- package/lib/components/ui/HoverableValue.js +8 -0
- package/lib/components/ui/IconButton.d.ts +10 -0
- package/lib/components/ui/IconButton.js +10 -0
- package/lib/components/ui/ImageComponent.d.ts +8 -0
- package/lib/components/ui/ImageComponent.js +5 -0
- package/lib/components/ui/ImageUploader.d.ts +17 -0
- package/lib/components/ui/ImageUploader.js +144 -0
- package/lib/components/ui/Input.d.ts +4 -0
- package/lib/components/ui/Input.js +8 -0
- package/lib/components/ui/Label.d.ts +5 -0
- package/lib/components/ui/Label.js +9 -0
- package/lib/components/ui/Loader.d.ts +10 -0
- package/lib/components/ui/Loader.js +7 -0
- package/lib/components/ui/Modal.d.ts +72 -0
- package/lib/components/ui/Modal.js +31 -0
- package/lib/components/ui/MultiSelect.d.ts +16 -0
- package/lib/components/ui/MultiSelect.js +59 -0
- package/lib/components/ui/NotificationModal.d.ts +18 -0
- package/lib/components/ui/NotificationModal.js +40 -0
- package/lib/components/ui/PhoneInput.d.ts +12 -0
- package/lib/components/ui/PhoneInput.js +58 -0
- package/lib/components/ui/Popover.d.ts +7 -0
- package/lib/components/ui/Popover.js +10 -0
- package/lib/components/ui/Progress.d.ts +7 -0
- package/lib/components/ui/Progress.js +7 -0
- package/lib/components/ui/Radio.d.ts +5 -0
- package/lib/components/ui/Radio.js +14 -0
- package/lib/components/ui/RangeDatePicker.d.ts +78 -0
- package/lib/components/ui/RangeDatePicker.js +68 -0
- package/lib/components/ui/Select.d.ts +13 -0
- package/lib/components/ui/Select.js +57 -0
- package/lib/components/ui/Separator.d.ts +4 -0
- package/lib/components/ui/Separator.js +7 -0
- package/lib/components/ui/Sheet.d.ts +26 -0
- package/lib/components/ui/Sheet.js +37 -0
- package/lib/components/ui/StatusCell.d.ts +9 -0
- package/lib/components/ui/StatusCell.js +6 -0
- package/lib/components/ui/Switch.d.ts +10 -0
- package/lib/components/ui/Switch.js +22 -0
- package/lib/components/ui/Tab.d.ts +15 -0
- package/lib/components/ui/Tab.js +13 -0
- package/lib/components/ui/TableDownload.d.ts +11 -0
- package/lib/components/ui/TableDownload.js +82 -0
- package/lib/components/ui/TailwindIndicator.d.ts +1 -0
- package/lib/components/ui/TailwindIndicator.js +6 -0
- package/lib/components/ui/TextField.d.ts +60 -0
- package/lib/components/ui/TextField.js +42 -0
- package/lib/components/ui/Textarea.d.ts +5 -0
- package/lib/components/ui/Textarea.js +8 -0
- package/lib/components/ui/Toast.d.ts +12 -0
- package/lib/components/ui/Toast.js +25 -0
- package/lib/components/ui/UploadField.d.ts +15 -0
- package/lib/components/ui/UploadField.js +45 -0
- package/lib/components/ui/VerticalTab.d.ts +16 -0
- package/lib/components/ui/VerticalTab.js +13 -0
- package/lib/components/ui/index.d.ts +49 -0
- package/lib/components/ui/index.js +47 -0
- package/lib/context/BreadcrumbContext.d.ts +28 -0
- package/lib/context/BreadcrumbContext.js +238 -0
- package/lib/context/FormEngineDrawerProvider.d.ts +21 -0
- package/lib/context/FormEngineDrawerProvider.js +38 -0
- package/lib/context/MultiFormEngineDrawerProvider.d.ts +25 -0
- package/lib/context/MultiFormEngineDrawerProvider.js +89 -0
- package/lib/context/SidebarContext.d.ts +65 -0
- package/lib/context/SidebarContext.js +47 -0
- package/lib/context/ToastContext.d.ts +17 -0
- package/lib/context/ToastContext.js +29 -0
- package/lib/context/index.d.ts +5 -0
- package/lib/context/index.js +5 -0
- package/lib/dashboard-visuals/components/BaseChart.d.ts +55 -0
- package/lib/dashboard-visuals/components/BaseChart.js +201 -0
- package/lib/dashboard-visuals/components/CardWrapper.d.ts +10 -0
- package/lib/dashboard-visuals/components/CardWrapper.js +13 -0
- package/lib/dashboard-visuals/components/ChartDetailsModal.d.ts +57 -0
- package/lib/dashboard-visuals/components/ChartDetailsModal.js +27 -0
- package/lib/dashboard-visuals/components/ChartDetailsModalWrapper.d.ts +29 -0
- package/lib/dashboard-visuals/components/ChartDetailsModalWrapper.js +4 -0
- package/lib/dashboard-visuals/components/ChartFormatter.d.ts +22 -0
- package/lib/dashboard-visuals/components/ChartFormatter.js +46 -0
- package/lib/dashboard-visuals/components/ChartWrapper.d.ts +11 -0
- package/lib/dashboard-visuals/components/ChartWrapper.js +14 -0
- package/lib/dashboard-visuals/components/DashboardFilter.d.ts +8 -0
- package/lib/dashboard-visuals/components/DashboardFilter.js +17 -0
- package/lib/dashboard-visuals/components/DataTable.d.ts +3 -0
- package/lib/dashboard-visuals/components/DataTable.js +57 -0
- package/lib/dashboard-visuals/components/EmptyState.d.ts +6 -0
- package/lib/dashboard-visuals/components/EmptyState.js +6 -0
- package/lib/dashboard-visuals/components/ErrorState.d.ts +7 -0
- package/lib/dashboard-visuals/components/ErrorState.js +5 -0
- package/lib/dashboard-visuals/components/FilterComponentSkeleton.d.ts +3 -0
- package/lib/dashboard-visuals/components/FilterComponentSkeleton.js +11 -0
- package/lib/dashboard-visuals/components/Pagination.d.ts +10 -0
- package/lib/dashboard-visuals/components/Pagination.js +7 -0
- package/lib/dashboard-visuals/components/Switch.d.ts +8 -0
- package/lib/dashboard-visuals/components/Switch.js +10 -0
- package/lib/dashboard-visuals/components/TileSkeleton.d.ts +2 -0
- package/lib/dashboard-visuals/components/TileSkeleton.js +5 -0
- package/lib/dashboard-visuals/components/molecules/Analytics.d.ts +11 -0
- package/lib/dashboard-visuals/components/molecules/Analytics.js +9 -0
- package/lib/dashboard-visuals/components/molecules/DataGrid.d.ts +15 -0
- package/lib/dashboard-visuals/components/molecules/DataGrid.js +124 -0
- package/lib/dashboard-visuals/components/molecules/NoChartData.d.ts +6 -0
- package/lib/dashboard-visuals/components/molecules/NoChartData.js +6 -0
- package/lib/dashboard-visuals/components/molecules/VisualChart.d.ts +16 -0
- package/lib/dashboard-visuals/components/molecules/VisualChart.js +8 -0
- package/lib/dashboard-visuals/components/types.d.ts +62 -0
- package/lib/dashboard-visuals/components/types.js +1 -0
- package/lib/dashboard-visuals/hooks/useChartData.d.ts +15 -0
- package/lib/dashboard-visuals/hooks/useChartData.js +82 -0
- package/lib/dashboard-visuals/hooks/useTooltipFormatter.d.ts +13 -0
- package/lib/dashboard-visuals/hooks/useTooltipFormatter.js +10 -0
- package/lib/dashboard-visuals/index.d.ts +39 -0
- package/lib/dashboard-visuals/index.js +168 -0
- package/lib/dashboard-visuals/types/index.d.ts +83 -0
- package/lib/dashboard-visuals/types/index.js +1 -0
- package/lib/dashboard-visuals/types/metricDetailData.d.ts +25 -0
- package/lib/dashboard-visuals/types/metricDetailData.js +1 -0
- package/lib/dashboard-visuals/utils/api.d.ts +5 -0
- package/lib/dashboard-visuals/utils/api.js +6 -0
- package/lib/dashboard-visuals/utils/chartOptions.d.ts +481 -0
- package/lib/dashboard-visuals/utils/chartOptions.js +393 -0
- package/lib/dashboard-visuals/utils/chunkArray.d.ts +1 -0
- package/lib/dashboard-visuals/utils/chunkArray.js +7 -0
- package/lib/dashboard-visuals/utils/defaultColors.d.ts +1 -0
- package/lib/dashboard-visuals/utils/defaultColors.js +1 -0
- package/lib/dashboard-visuals/utils/formatUtil.d.ts +203 -0
- package/lib/dashboard-visuals/utils/formatUtil.js +472 -0
- package/lib/dashboard-visuals/utils/gridUtil.d.ts +11 -0
- package/lib/dashboard-visuals/utils/gridUtil.js +32 -0
- package/lib/dashboard-visuals/utils/index.d.ts +6 -0
- package/lib/dashboard-visuals/utils/index.js +6 -0
- package/lib/dashboard-visuals/utils/tooltipUtils.d.ts +11 -0
- package/lib/dashboard-visuals/utils/tooltipUtils.js +180 -0
- package/lib/dashboard-visuals/visualRegistry.d.ts +4 -0
- package/lib/dashboard-visuals/visualRegistry.js +41 -0
- package/lib/dashboard-visuals/visuals/BarChart.d.ts +58 -0
- package/lib/dashboard-visuals/visuals/BarChart.js +95 -0
- package/lib/dashboard-visuals/visuals/BarLineHybridChart.d.ts +33 -0
- package/lib/dashboard-visuals/visuals/BarLineHybridChart.js +60 -0
- package/lib/dashboard-visuals/visuals/BubbleChart.d.ts +25 -0
- package/lib/dashboard-visuals/visuals/BubbleChart.js +101 -0
- package/lib/dashboard-visuals/visuals/DistributionChart.d.ts +11 -0
- package/lib/dashboard-visuals/visuals/DistributionChart.js +48 -0
- package/lib/dashboard-visuals/visuals/DonutChart.d.ts +50 -0
- package/lib/dashboard-visuals/visuals/DonutChart.js +105 -0
- package/lib/dashboard-visuals/visuals/GaugeChart.d.ts +32 -0
- package/lib/dashboard-visuals/visuals/GaugeChart.js +53 -0
- package/lib/dashboard-visuals/visuals/GroupedBarChart.d.ts +47 -0
- package/lib/dashboard-visuals/visuals/GroupedBarChart.js +131 -0
- package/lib/dashboard-visuals/visuals/HeatmapChart.d.ts +79 -0
- package/lib/dashboard-visuals/visuals/HeatmapChart.js +146 -0
- package/lib/dashboard-visuals/visuals/HorizontalBarChart.d.ts +50 -0
- package/lib/dashboard-visuals/visuals/HorizontalBarChart.js +131 -0
- package/lib/dashboard-visuals/visuals/ItemPerformanceCard.d.ts +30 -0
- package/lib/dashboard-visuals/visuals/ItemPerformanceCard.js +31 -0
- package/lib/dashboard-visuals/visuals/LineChart.d.ts +56 -0
- package/lib/dashboard-visuals/visuals/LineChart.js +80 -0
- package/lib/dashboard-visuals/visuals/LineGraph.d.ts +50 -0
- package/lib/dashboard-visuals/visuals/LineGraph.js +189 -0
- package/lib/dashboard-visuals/visuals/MetricSummaryCard.d.ts +14 -0
- package/lib/dashboard-visuals/visuals/MetricSummaryCard.js +8 -0
- package/lib/dashboard-visuals/visuals/MultiGaugeChart.d.ts +39 -0
- package/lib/dashboard-visuals/visuals/MultiGaugeChart.js +119 -0
- package/lib/dashboard-visuals/visuals/PieChart.d.ts +59 -0
- package/lib/dashboard-visuals/visuals/PieChart.js +194 -0
- package/lib/dashboard-visuals/visuals/SelectedEventTile.d.ts +14 -0
- package/lib/dashboard-visuals/visuals/SelectedEventTile.js +35 -0
- package/lib/dashboard-visuals/visuals/SpeedometerChart.d.ts +53 -0
- package/lib/dashboard-visuals/visuals/SpeedometerChart.js +94 -0
- package/lib/dashboard-visuals/visuals/Table.d.ts +26 -0
- package/lib/dashboard-visuals/visuals/Table.js +113 -0
- package/lib/dashboard-visuals/visuals/Tile.d.ts +16 -0
- package/lib/dashboard-visuals/visuals/Tile.js +16 -0
- package/lib/dashboard-visuals/visuals/TreeMap.d.ts +25 -0
- package/lib/dashboard-visuals/visuals/TreeMap.js +45 -0
- package/lib/dashboard-visuals/visuals/WaterfallChart.d.ts +52 -0
- package/lib/dashboard-visuals/visuals/WaterfallChart.js +266 -0
- package/lib/form-engine/Form.d.ts +4 -0
- package/lib/form-engine/Form.js +14 -0
- package/lib/form-engine/FormEngine.d.ts +3 -0
- package/lib/form-engine/FormEngine.js +121 -0
- package/lib/form-engine/components/FieldWrapper.d.ts +18 -0
- package/lib/form-engine/components/FieldWrapper.js +63 -0
- package/lib/form-engine/components/index.d.ts +2 -0
- package/lib/form-engine/components/index.js +2 -0
- package/lib/form-engine/components/inputs/card-expiry-input/CardExpiryInput.d.ts +16 -0
- package/lib/form-engine/components/inputs/card-expiry-input/CardExpiryInput.js +48 -0
- package/lib/form-engine/components/inputs/checkbox-input/CheckboxInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/checkbox-input/CheckboxInput.js +5 -0
- package/lib/form-engine/components/inputs/credit-card-input/CreditCardInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/credit-card-input/CreditCardInput.js +82 -0
- package/lib/form-engine/components/inputs/date-input/DateInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/date-input/DateInput.js +7 -0
- package/lib/form-engine/components/inputs/date-input/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/date-input/index.js +1 -0
- package/lib/form-engine/components/inputs/email-input/EmailInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/email-input/EmailInput.js +5 -0
- package/lib/form-engine/components/inputs/email-input/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/email-input/index.js +1 -0
- package/lib/form-engine/components/inputs/index.d.ts +13 -0
- package/lib/form-engine/components/inputs/index.js +13 -0
- package/lib/form-engine/components/inputs/label-input/LabelInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/label-input/LabelInput.js +7 -0
- package/lib/form-engine/components/inputs/label-input/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/label-input/index.js +1 -0
- package/lib/form-engine/components/inputs/multi-select-input/MultiSelectInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/multi-select-input/MultiSelectInput.js +5 -0
- package/lib/form-engine/components/inputs/number-input/NumberInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/number-input/NumberInput.js +5 -0
- package/lib/form-engine/components/inputs/number-input/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/number-input/index.js +1 -0
- package/lib/form-engine/components/inputs/password-input/PasswordInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/password-input/PasswordInput.js +9 -0
- package/lib/form-engine/components/inputs/password-input/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/password-input/index.js +1 -0
- package/lib/form-engine/components/inputs/radio-button/RadioInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/radio-button/RadioInput.js +6 -0
- package/lib/form-engine/components/inputs/radio-button/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/radio-button/index.js +1 -0
- package/lib/form-engine/components/inputs/select/SelectInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/select/SelectInput.js +6 -0
- package/lib/form-engine/components/inputs/select/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/select/index.js +1 -0
- package/lib/form-engine/components/inputs/textarea-input/TextareaInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/textarea-input/TextareaInput.js +5 -0
- package/lib/form-engine/components/inputs/textarea-input/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/textarea-input/index.js +1 -0
- package/lib/form-engine/components/inputs/time-input/TimeInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/time-input/TimeInput.js +5 -0
- package/lib/form-engine/components/inputs/time-input/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/time-input/index.js +1 -0
- package/lib/form-engine/components/inputs/toggle-switch-input/ToggleSwitchInput.d.ts +4 -0
- package/lib/form-engine/components/inputs/toggle-switch-input/ToggleSwitchInput.js +7 -0
- package/lib/form-engine/components/inputs/toggle-switch-input/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/toggle-switch-input/index.js +1 -0
- package/lib/form-engine/components/inputs/upload-field/UploadFieldForm.d.ts +4 -0
- package/lib/form-engine/components/inputs/upload-field/UploadFieldForm.js +59 -0
- package/lib/form-engine/components/inputs/upload-field/index.d.ts +1 -0
- package/lib/form-engine/components/inputs/upload-field/index.js +1 -0
- package/lib/form-engine/hooks/useFormPersistence.d.ts +11 -0
- package/lib/form-engine/hooks/useFormPersistence.js +46 -0
- package/lib/form-engine/index.d.ts +5 -0
- package/lib/form-engine/index.js +5 -0
- package/lib/form-engine/registry/RegisterComponents.d.ts +1 -0
- package/lib/form-engine/registry/RegisterComponents.js +35 -0
- package/lib/form-engine/registry/Registry.d.ts +5 -0
- package/lib/form-engine/registry/Registry.js +13 -0
- package/lib/form-engine/registry/index.d.ts +2 -0
- package/lib/form-engine/registry/index.js +2 -0
- package/lib/form-engine/types/index.d.ts +311 -0
- package/lib/form-engine/types/index.js +1 -0
- package/lib/helpers/index.d.ts +2 -0
- package/lib/helpers/index.js +2 -0
- package/lib/helpers/utils.d.ts +37 -0
- package/lib/helpers/utils.js +77 -0
- package/lib/helpers/validations.d.ts +80 -0
- package/lib/helpers/validations.js +39 -0
- package/lib/index.d.ts +21 -0
- package/lib/index.js +30 -0
- package/lib/mocks/mockApiRequestsConfig.d.ts +2 -0
- package/lib/mocks/mockApiRequestsConfig.js +343 -0
- package/lib/pagamio-drawer/TopUpWalletDrawer/TopUpWalletContent.d.ts +14 -0
- package/lib/pagamio-drawer/TopUpWalletDrawer/TopUpWalletContent.js +40 -0
- package/lib/pagamio-drawer/TopUpWalletDrawer/index.d.ts +11 -0
- package/lib/pagamio-drawer/TopUpWalletDrawer/index.js +7 -0
- package/lib/pagamio-drawer/components/BaseDrawer.d.ts +11 -0
- package/lib/pagamio-drawer/components/BaseDrawer.js +10 -0
- package/lib/pagamio-drawer/components/DrawerContent.d.ts +27 -0
- package/lib/pagamio-drawer/components/DrawerContent.js +237 -0
- package/lib/pagamio-drawer/index.d.ts +22 -0
- package/lib/pagamio-drawer/index.js +133 -0
- package/lib/pagamio-table/data-table/ExportButton.d.ts +57 -0
- package/lib/pagamio-table/data-table/ExportButton.js +96 -0
- package/lib/pagamio-table/data-table/MantineCoreTable.d.ts +44 -0
- package/lib/pagamio-table/data-table/MantineCoreTable.js +129 -0
- package/lib/pagamio-table/data-table/Pagination.d.ts +10 -0
- package/lib/pagamio-table/data-table/Pagination.js +5 -0
- package/lib/pagamio-table/data-table/TableDownload.d.ts +8 -0
- package/lib/pagamio-table/data-table/TableDownload.js +81 -0
- package/lib/pagamio-table/data-table/TableToolbar.d.ts +3 -0
- package/lib/pagamio-table/data-table/TableToolbar.js +16 -0
- package/lib/pagamio-table/data-table/exportUtils.d.ts +42 -0
- package/lib/pagamio-table/data-table/exportUtils.js +782 -0
- package/lib/pagamio-table/data-table/index.d.ts +5 -0
- package/lib/pagamio-table/data-table/index.js +11 -0
- package/lib/pagamio-table/data-table/pdfExportUtils.d.ts +111 -0
- package/lib/pagamio-table/data-table/pdfExportUtils.js +113 -0
- package/lib/pagamio-table/data-table/types.d.ts +169 -0
- package/lib/pagamio-table/data-table/types.js +1 -0
- package/lib/pagamio-table/index.d.ts +4 -0
- package/lib/pagamio-table/index.js +4 -0
- package/lib/pagamio-table/utils/functionHelper.d.ts +12 -0
- package/lib/pagamio-table/utils/functionHelper.js +24 -0
- package/lib/pagamio-table/utils/index.d.ts +1 -0
- package/lib/pagamio-table/utils/index.js +1 -0
- package/lib/rbac/hooks.d.ts +39 -0
- package/lib/rbac/hooks.js +51 -0
- package/lib/rbac/index.d.ts +8 -0
- package/lib/rbac/index.js +11 -0
- package/lib/rbac/store.d.ts +24 -0
- package/lib/rbac/store.js +37 -0
- package/lib/rbac/types.d.ts +39 -0
- package/lib/rbac/types.js +4 -0
- package/lib/rbac/utils.d.ts +44 -0
- package/lib/rbac/utils.js +117 -0
- package/lib/shared/constants/index.d.ts +2 -0
- package/lib/shared/constants/index.js +2 -0
- package/lib/shared/hooks/index.d.ts +4 -0
- package/lib/shared/hooks/index.js +4 -0
- package/lib/shared/hooks/useAnyDrawerOpen.d.ts +4 -0
- package/lib/shared/hooks/useAnyDrawerOpen.js +18 -0
- package/lib/shared/hooks/useContainerWidth.d.ts +2 -0
- package/lib/shared/hooks/useContainerWidth.js +18 -0
- package/lib/shared/hooks/useImageUpload.d.ts +15 -0
- package/lib/shared/hooks/useImageUpload.js +66 -0
- package/lib/shared/hooks/useMediaQueries.d.ts +5 -0
- package/lib/shared/hooks/useMediaQueries.js +35 -0
- package/lib/shared/hooks/usePagamioTable.d.ts +158 -0
- package/lib/shared/hooks/usePagamioTable.js +475 -0
- package/lib/shared/hooks/useSessionTimer.d.ts +33 -0
- package/lib/shared/hooks/useSessionTimer.js +96 -0
- package/lib/shared/index.d.ts +4 -0
- package/lib/shared/index.js +4 -0
- package/lib/shared/types/index.d.ts +1 -0
- package/lib/shared/types/index.js +1 -0
- package/lib/shared/url/index.d.ts +9 -0
- package/lib/shared/url/index.js +20 -0
- package/lib/shared/utils/filterUtils.d.ts +5 -0
- package/lib/shared/utils/filterUtils.js +31 -0
- package/lib/shared/utils/functionHelper.d.ts +27 -0
- package/lib/shared/utils/functionHelper.js +124 -0
- package/lib/shared/utils/index.d.ts +2 -0
- package/lib/shared/utils/index.js +2 -0
- package/lib/shared/utils/localStorage.d.ts +53 -0
- package/lib/shared/utils/localStorage.js +139 -0
- package/lib/styles.css +6247 -0
- package/lib/translations/components/LocaleSwitcher.d.ts +7 -0
- package/lib/translations/components/LocaleSwitcher.js +18 -0
- package/lib/translations/components/index.d.ts +1 -0
- package/lib/translations/components/index.js +1 -0
- package/lib/translations/context/TranslationContext.d.ts +5 -0
- package/lib/translations/context/TranslationContext.js +151 -0
- package/lib/translations/context/index.d.ts +1 -0
- package/lib/translations/context/index.js +1 -0
- package/lib/translations/hooks/index.d.ts +2 -0
- package/lib/translations/hooks/index.js +2 -0
- package/lib/translations/hooks/useLibTranslations.d.ts +7 -0
- package/lib/translations/hooks/useLibTranslations.js +46 -0
- package/lib/translations/hooks/useTranslation.d.ts +7 -0
- package/lib/translations/hooks/useTranslation.js +11 -0
- package/lib/translations/index.d.ts +91 -0
- package/lib/translations/index.js +11 -0
- package/lib/translations/locales/en.json +21 -0
- package/lib/translations/locales/es.json +21 -0
- package/lib/translations/locales/fr.json +21 -0
- package/lib/translations/locales/pt.json +21 -0
- package/lib/translations/types/index.d.ts +24 -0
- package/lib/translations/types/index.js +1 -0
- package/lib/translations/utils/index.d.ts +6 -0
- package/lib/translations/utils/index.js +25 -0
- package/package.json +9 -1
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { HiChartPie } from 'react-icons/hi';
|
|
4
|
+
import { createContext, useCallback, useContext, useMemo, useRef, useState } from 'react';
|
|
5
|
+
import { isUUIDorID } from '../shared';
|
|
6
|
+
const AppBreadcrumbContext = createContext(undefined);
|
|
7
|
+
/**
|
|
8
|
+
* Create a flat map of all valid paths from the sidebar pages config
|
|
9
|
+
*/
|
|
10
|
+
function createPathMap(pages, parentPath = '') {
|
|
11
|
+
const pathMap = new Map();
|
|
12
|
+
for (const page of pages) {
|
|
13
|
+
const fullPath = parentPath + (page.href || '');
|
|
14
|
+
if (page.href) {
|
|
15
|
+
pathMap.set(fullPath, { label: page.label, icon: page.icon });
|
|
16
|
+
}
|
|
17
|
+
if (page.items) {
|
|
18
|
+
const childPaths = createPathMap(page.items, fullPath);
|
|
19
|
+
childPaths.forEach((value, key) => pathMap.set(key, value));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return pathMap;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Check if a path represents a valid route by examining URL structure patterns
|
|
26
|
+
* This is a conservative approach - only make something clickable if we're confident it exists
|
|
27
|
+
*/
|
|
28
|
+
function isValidRoute(segments, currentIndex, pathMap) {
|
|
29
|
+
// Never make the last segment clickable (it's the current page)
|
|
30
|
+
if (currentIndex === segments.length - 1) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
// Build the path up to this segment
|
|
34
|
+
const pathUpToHere = '/' + segments.slice(0, currentIndex + 1).join('/');
|
|
35
|
+
// If this exact path exists in the sidebar config, it's definitely clickable
|
|
36
|
+
if (pathMap.has(pathUpToHere)) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
const segment = segments[currentIndex];
|
|
40
|
+
// For UUID segments, only make clickable if there are non-UUID segments after
|
|
41
|
+
// This means it's likely a detail page with sub-sections
|
|
42
|
+
if (isUUIDorID(segment)) {
|
|
43
|
+
for (let i = currentIndex + 1; i < segments.length; i++) {
|
|
44
|
+
if (!isUUIDorID(segments[i])) {
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return false;
|
|
49
|
+
}
|
|
50
|
+
// For regular segments (like "merchants", "vendors"), be very conservative
|
|
51
|
+
// Only make clickable if it's in the sidebar config
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Get appropriate label for a segment
|
|
56
|
+
*/
|
|
57
|
+
function getSegmentLabel(segment, parentPath, pathMap) {
|
|
58
|
+
// Check if this exact path exists in sidebar
|
|
59
|
+
const fullPath = parentPath + '/' + segment;
|
|
60
|
+
const pageConfig = pathMap.get(fullPath);
|
|
61
|
+
if (pageConfig) {
|
|
62
|
+
return pageConfig.label;
|
|
63
|
+
}
|
|
64
|
+
// For UUID/ID segments, default to "Loading..." (will be updated by components)
|
|
65
|
+
if (isUUIDorID(segment)) {
|
|
66
|
+
return 'Loading...';
|
|
67
|
+
}
|
|
68
|
+
// For regular segments, convert to readable format immediately
|
|
69
|
+
// Handle common patterns like "sub-merchants" -> "Sub Merchants"
|
|
70
|
+
return segment
|
|
71
|
+
.split('-')
|
|
72
|
+
.map((word) => word.charAt(0).toUpperCase() + word.slice(1))
|
|
73
|
+
.join(' ');
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Build breadcrumbs with proper route validation (Conservative mode - for VAS app)
|
|
77
|
+
*/
|
|
78
|
+
function buildBreadcrumbsFromPath(pathname, pathMap, manualUpdates) {
|
|
79
|
+
const segments = pathname.replace(/\/$/, '').split('/').filter(Boolean);
|
|
80
|
+
const breadcrumbs = [];
|
|
81
|
+
let currentPath = '';
|
|
82
|
+
let rootIcon = undefined;
|
|
83
|
+
for (let i = 0; i < segments.length; i++) {
|
|
84
|
+
const segment = segments[i];
|
|
85
|
+
currentPath += `/${segment}`;
|
|
86
|
+
const parentPath = '/' + segments.slice(0, i).join('/');
|
|
87
|
+
// Check if this exact path exists in sidebar config
|
|
88
|
+
const pageConfig = pathMap.get(currentPath);
|
|
89
|
+
// Determine if this should be clickable using improved logic
|
|
90
|
+
const isClickable = isValidRoute(segments, i, pathMap);
|
|
91
|
+
// Get the appropriate label
|
|
92
|
+
let label;
|
|
93
|
+
if (pageConfig) {
|
|
94
|
+
// Use sidebar config label if available
|
|
95
|
+
label = manualUpdates[currentPath] || pageConfig.label;
|
|
96
|
+
}
|
|
97
|
+
else if (isUUIDorID(segment)) {
|
|
98
|
+
// For UUID segments, use manual update or default to "Loading..."
|
|
99
|
+
label = manualUpdates[segment] || 'Loading...';
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// For regular segments, convert to readable format immediately
|
|
103
|
+
label = manualUpdates[currentPath] || getSegmentLabel(segment, parentPath, pathMap);
|
|
104
|
+
}
|
|
105
|
+
// Set root icon from first exact match
|
|
106
|
+
if (pageConfig && i === 0 && !rootIcon) {
|
|
107
|
+
rootIcon = pageConfig.icon;
|
|
108
|
+
}
|
|
109
|
+
breadcrumbs.push({
|
|
110
|
+
label,
|
|
111
|
+
path: isClickable ? currentPath : undefined,
|
|
112
|
+
key: isUUIDorID(segment) ? segment : undefined,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return { breadcrumbs, rootIcon };
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Build breadcrumbs for permissive mode
|
|
119
|
+
*/
|
|
120
|
+
function buildBreadcrumbsPermissive(pathname, pathMap, manualUpdates, pages) {
|
|
121
|
+
const pathSegments = pathname.replace(/\/$/, '').split('/').filter(Boolean);
|
|
122
|
+
let newBreadcrumbs = [];
|
|
123
|
+
let icon = undefined;
|
|
124
|
+
if (pathSegments.length === 0) {
|
|
125
|
+
return {
|
|
126
|
+
breadcrumbs: [{ label: 'Dashboard', path: '/dashboard' }],
|
|
127
|
+
rootIcon: HiChartPie,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
let currentPath = '';
|
|
131
|
+
// Find the deepest matching page config
|
|
132
|
+
let foundConfig = undefined;
|
|
133
|
+
function findPageConfigWithParents(pages, path, parents = []) {
|
|
134
|
+
for (const page of pages) {
|
|
135
|
+
if (page.href === path)
|
|
136
|
+
return { page, parents };
|
|
137
|
+
if (page.items) {
|
|
138
|
+
const found = findPageConfigWithParents(page.items, path, [...parents, page]);
|
|
139
|
+
if (found.page)
|
|
140
|
+
return found;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return { page: undefined, parents: [] };
|
|
144
|
+
}
|
|
145
|
+
for (const segment of pathSegments) {
|
|
146
|
+
currentPath += `/${segment}`;
|
|
147
|
+
const { page } = findPageConfigWithParents(pages, currentPath);
|
|
148
|
+
if (page) {
|
|
149
|
+
foundConfig = page;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// Helper to set icon only if not already set
|
|
153
|
+
const setIcon = (candidate) => {
|
|
154
|
+
if (!icon && candidate)
|
|
155
|
+
icon = candidate;
|
|
156
|
+
};
|
|
157
|
+
function getManualLabel(segment, fallback) {
|
|
158
|
+
return manualUpdates[segment] ?? fallback;
|
|
159
|
+
}
|
|
160
|
+
function getUUIDBreadcrumb(segment, currentPath, newBreadcrumbs) {
|
|
161
|
+
const previousLabel = newBreadcrumbs[newBreadcrumbs.length - 1]?.label;
|
|
162
|
+
if (previousLabel) {
|
|
163
|
+
const baseLabel = previousLabel.replace(/s$/, '');
|
|
164
|
+
const label = getManualLabel(segment, `${baseLabel} Details`);
|
|
165
|
+
return {
|
|
166
|
+
label,
|
|
167
|
+
path: currentPath,
|
|
168
|
+
key: segment,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
return null;
|
|
172
|
+
}
|
|
173
|
+
// Add the current page only (not parents)
|
|
174
|
+
if (foundConfig) {
|
|
175
|
+
const currentPath = foundConfig.href ?? '';
|
|
176
|
+
setIcon(foundConfig.icon);
|
|
177
|
+
newBreadcrumbs.push({ label: getManualLabel(foundConfig.href ?? '', foundConfig.label), path: currentPath });
|
|
178
|
+
}
|
|
179
|
+
// If there are extra segments (e.g. UUIDs), process them
|
|
180
|
+
const extraSegments = pathSegments.slice(foundConfig?.href?.split('/').filter(Boolean).length ?? 0);
|
|
181
|
+
let buildPath = foundConfig?.href ?? '';
|
|
182
|
+
for (const segment of extraSegments) {
|
|
183
|
+
buildPath += `/${segment}`;
|
|
184
|
+
if (isUUIDorID(segment)) {
|
|
185
|
+
const uuidBreadcrumb = getUUIDBreadcrumb(segment, buildPath, newBreadcrumbs);
|
|
186
|
+
if (uuidBreadcrumb)
|
|
187
|
+
newBreadcrumbs.push(uuidBreadcrumb);
|
|
188
|
+
}
|
|
189
|
+
else {
|
|
190
|
+
newBreadcrumbs.push({
|
|
191
|
+
label: getManualLabel(segment, segment.charAt(0).toUpperCase() + segment.slice(1)),
|
|
192
|
+
path: buildPath,
|
|
193
|
+
});
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
return { breadcrumbs: newBreadcrumbs, rootIcon: icon ?? HiChartPie };
|
|
197
|
+
}
|
|
198
|
+
const AppBreadcrumbProvider = ({ children, pathname, pages, mode = 'conservative' }) => {
|
|
199
|
+
const manualUpdates = useRef({});
|
|
200
|
+
const [forceUpdate, setForceUpdate] = useState(0);
|
|
201
|
+
const pathMap = useMemo(() => createPathMap(pages), [pages]);
|
|
202
|
+
const { breadcrumbs, rootPageIcon } = useMemo(() => {
|
|
203
|
+
if (pathname === '/' || pathname === '') {
|
|
204
|
+
return {
|
|
205
|
+
breadcrumbs: [{ label: 'Dashboard', path: '/dashboard' }],
|
|
206
|
+
rootPageIcon: HiChartPie,
|
|
207
|
+
};
|
|
208
|
+
}
|
|
209
|
+
if (mode === 'permissive') {
|
|
210
|
+
const { breadcrumbs, rootIcon } = buildBreadcrumbsPermissive(pathname, pathMap, manualUpdates.current, pages);
|
|
211
|
+
return { breadcrumbs, rootPageIcon: rootIcon ?? HiChartPie };
|
|
212
|
+
}
|
|
213
|
+
else {
|
|
214
|
+
const { breadcrumbs, rootIcon } = buildBreadcrumbsFromPath(pathname, pathMap, manualUpdates.current);
|
|
215
|
+
return { breadcrumbs, rootPageIcon: rootIcon ?? HiChartPie };
|
|
216
|
+
}
|
|
217
|
+
}, [pathname, pathMap, forceUpdate, mode, pages]);
|
|
218
|
+
const updateBreadcrumb = useCallback((key, newLabel) => {
|
|
219
|
+
manualUpdates.current[key] = newLabel;
|
|
220
|
+
setForceUpdate((prev) => prev + 1); // Force re-render
|
|
221
|
+
}, []);
|
|
222
|
+
const value = useMemo(() => ({
|
|
223
|
+
breadcrumbs,
|
|
224
|
+
updateBreadcrumb,
|
|
225
|
+
pathname,
|
|
226
|
+
rootPageIcon,
|
|
227
|
+
}), [breadcrumbs, updateBreadcrumb, pathname, rootPageIcon]);
|
|
228
|
+
return _jsx(AppBreadcrumbContext.Provider, { value: value, children: children });
|
|
229
|
+
};
|
|
230
|
+
const useAppBreadcrumbs = () => {
|
|
231
|
+
const context = useContext(AppBreadcrumbContext);
|
|
232
|
+
if (!context) {
|
|
233
|
+
throw new Error('useBreadcrumbs must be used within a BreadcrumbProvider');
|
|
234
|
+
}
|
|
235
|
+
return context;
|
|
236
|
+
};
|
|
237
|
+
export default AppBreadcrumbProvider;
|
|
238
|
+
export { useAppBreadcrumbs };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version.
|
|
4
|
+
*/
|
|
5
|
+
type FormEngineDrawerContextType = {
|
|
6
|
+
isOpen: boolean;
|
|
7
|
+
handleOpenDrawer: () => void;
|
|
8
|
+
handleCloseDrawer: () => void;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version.
|
|
12
|
+
*/
|
|
13
|
+
export declare const FormEngineDrawerProvider: ({ pathname, children }: {
|
|
14
|
+
pathname: string;
|
|
15
|
+
children: ReactNode;
|
|
16
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
/**
|
|
18
|
+
* @deprecated Use `useMultiFormEngineDrawer` instead. This will be removed in a future version.
|
|
19
|
+
*/
|
|
20
|
+
export declare const useFormEngineDrawer: () => FormEngineDrawerContextType;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';
|
|
3
|
+
import { setupInputRegistry } from '../form-engine/registry';
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version.
|
|
6
|
+
*/
|
|
7
|
+
const FormEngineDrawerContext = createContext(undefined);
|
|
8
|
+
/**
|
|
9
|
+
* @deprecated Use `MultiFormEngineDrawerProvider` instead. This will be removed in a future version.
|
|
10
|
+
*/
|
|
11
|
+
export const FormEngineDrawerProvider = ({ pathname, children }) => {
|
|
12
|
+
console.warn('FormEngineDrawerProvider is deprecated and will be removed in a future version. Use MultiFormEngineDrawerProvider instead.');
|
|
13
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
14
|
+
useEffect(() => {
|
|
15
|
+
setupInputRegistry();
|
|
16
|
+
}, []);
|
|
17
|
+
const handleOpenDrawer = useCallback(() => setIsOpen(true), []);
|
|
18
|
+
const handleCloseDrawer = useCallback(() => setIsOpen(false), []);
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
setIsOpen(false);
|
|
21
|
+
}, [pathname]);
|
|
22
|
+
const contextValue = useMemo(() => ({
|
|
23
|
+
isOpen,
|
|
24
|
+
handleOpenDrawer,
|
|
25
|
+
handleCloseDrawer,
|
|
26
|
+
}), [isOpen, handleOpenDrawer, handleCloseDrawer]);
|
|
27
|
+
return _jsx(FormEngineDrawerContext.Provider, { value: contextValue, children: children });
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated Use `useMultiFormEngineDrawer` instead. This will be removed in a future version.
|
|
31
|
+
*/
|
|
32
|
+
export const useFormEngineDrawer = () => {
|
|
33
|
+
const context = useContext(FormEngineDrawerContext);
|
|
34
|
+
if (!context) {
|
|
35
|
+
throw new Error('useFormEngineDrawer must be used within a FormEngineDrawerProvider');
|
|
36
|
+
}
|
|
37
|
+
return context;
|
|
38
|
+
};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { FormPersistenceContextType } from '../form-engine/types';
|
|
3
|
+
/**
|
|
4
|
+
* Type definition for the new form engine drawer context
|
|
5
|
+
* Supports multiple drawers using unique keys
|
|
6
|
+
*/
|
|
7
|
+
type MultiFormEngineDrawerProviderContextType = {
|
|
8
|
+
isOpen: (key: string) => boolean;
|
|
9
|
+
isAnyDrawerOpen: () => boolean;
|
|
10
|
+
handleOpenDrawer: (key: string) => void;
|
|
11
|
+
handleCloseDrawer: (key: string) => void;
|
|
12
|
+
} & FormPersistenceContextType;
|
|
13
|
+
/**
|
|
14
|
+
* Provider component for the new form engine drawer
|
|
15
|
+
* Supports multiple drawers using unique keys and form persistence
|
|
16
|
+
*/
|
|
17
|
+
export declare const MultiFormEngineDrawerProvider: ({ pathname, children }: {
|
|
18
|
+
pathname: string;
|
|
19
|
+
children: ReactNode;
|
|
20
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
/**
|
|
22
|
+
* Hook to access the new form engine drawer context
|
|
23
|
+
*/
|
|
24
|
+
export declare const useMultiFormEngineDrawer: () => MultiFormEngineDrawerProviderContextType;
|
|
25
|
+
export {};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from 'react';
|
|
3
|
+
import { setupInputRegistry } from '../form-engine/registry';
|
|
4
|
+
/**
|
|
5
|
+
* Context for managing the new form engine drawer state
|
|
6
|
+
*/
|
|
7
|
+
const MultiFormEngineDrawerProviderContext = createContext(undefined);
|
|
8
|
+
/**
|
|
9
|
+
* Provider component for the new form engine drawer
|
|
10
|
+
* Supports multiple drawers using unique keys and form persistence
|
|
11
|
+
*/
|
|
12
|
+
export const MultiFormEngineDrawerProvider = ({ pathname, children }) => {
|
|
13
|
+
const [drawerStates, setDrawerStates] = useState(new Map());
|
|
14
|
+
const formDataRef = useRef(new Map());
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
setupInputRegistry();
|
|
17
|
+
}, []);
|
|
18
|
+
const handleOpenDrawer = useCallback((key) => {
|
|
19
|
+
setDrawerStates((prev) => new Map(prev).set(key, true));
|
|
20
|
+
}, []);
|
|
21
|
+
const handleCloseDrawer = useCallback((key) => {
|
|
22
|
+
setDrawerStates((prev) => {
|
|
23
|
+
const newStates = new Map(prev);
|
|
24
|
+
newStates.delete(key);
|
|
25
|
+
return newStates;
|
|
26
|
+
});
|
|
27
|
+
}, []);
|
|
28
|
+
const isOpen = useCallback((key) => drawerStates.get(key) === true, [drawerStates]);
|
|
29
|
+
const isAnyDrawerOpen = useCallback(() => drawerStates.size > 0, [drawerStates]);
|
|
30
|
+
// Form persistence methods
|
|
31
|
+
const getFormData = useCallback((key) => {
|
|
32
|
+
return formDataRef.current.get(key) || null;
|
|
33
|
+
}, []);
|
|
34
|
+
const setFormData = useCallback((key, data) => {
|
|
35
|
+
const existingData = formDataRef.current.get(key);
|
|
36
|
+
const newData = {
|
|
37
|
+
values: {},
|
|
38
|
+
lastUpdated: Date.now(),
|
|
39
|
+
isDirty: false,
|
|
40
|
+
...existingData,
|
|
41
|
+
...data,
|
|
42
|
+
};
|
|
43
|
+
formDataRef.current.set(key, newData);
|
|
44
|
+
}, []);
|
|
45
|
+
const clearFormData = useCallback((key) => {
|
|
46
|
+
formDataRef.current.delete(key);
|
|
47
|
+
}, []);
|
|
48
|
+
const clearAllFormData = useCallback(() => {
|
|
49
|
+
formDataRef.current.clear();
|
|
50
|
+
}, []);
|
|
51
|
+
const hasFormData = useCallback((key) => {
|
|
52
|
+
return formDataRef.current.has(key);
|
|
53
|
+
}, []);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
setDrawerStates(new Map());
|
|
56
|
+
}, [pathname]);
|
|
57
|
+
const contextValue = useMemo(() => ({
|
|
58
|
+
isOpen,
|
|
59
|
+
isAnyDrawerOpen,
|
|
60
|
+
handleOpenDrawer,
|
|
61
|
+
handleCloseDrawer,
|
|
62
|
+
getFormData,
|
|
63
|
+
setFormData,
|
|
64
|
+
clearFormData,
|
|
65
|
+
clearAllFormData,
|
|
66
|
+
hasFormData,
|
|
67
|
+
}), [
|
|
68
|
+
isOpen,
|
|
69
|
+
isAnyDrawerOpen,
|
|
70
|
+
handleOpenDrawer,
|
|
71
|
+
handleCloseDrawer,
|
|
72
|
+
getFormData,
|
|
73
|
+
setFormData,
|
|
74
|
+
clearFormData,
|
|
75
|
+
clearAllFormData,
|
|
76
|
+
hasFormData,
|
|
77
|
+
]);
|
|
78
|
+
return (_jsx(MultiFormEngineDrawerProviderContext.Provider, { value: contextValue, children: children }));
|
|
79
|
+
};
|
|
80
|
+
/**
|
|
81
|
+
* Hook to access the new form engine drawer context
|
|
82
|
+
*/
|
|
83
|
+
export const useMultiFormEngineDrawer = () => {
|
|
84
|
+
const context = useContext(MultiFormEngineDrawerProviderContext);
|
|
85
|
+
if (!context) {
|
|
86
|
+
throw new Error('useFormEngineDrawerV2 must be used within a FormEngineDrawerProviderV2');
|
|
87
|
+
}
|
|
88
|
+
return context;
|
|
89
|
+
};
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { FC, HTMLAttributeAnchorTarget, PropsWithChildren } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
interface AppSidebarPageItem {
|
|
4
|
+
href?: string;
|
|
5
|
+
target?: HTMLAttributeAnchorTarget;
|
|
6
|
+
icon?: FC;
|
|
7
|
+
label: string;
|
|
8
|
+
items?: AppSidebarPageItem[];
|
|
9
|
+
badge?: string;
|
|
10
|
+
roles?: string[];
|
|
11
|
+
forceDropdown?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Props for the AppSidebarContext
|
|
15
|
+
* @interface AppSidebarContextProps
|
|
16
|
+
* @property {Object} desktop - Desktop sidebar state and controls
|
|
17
|
+
* @property {Object} mobile - Mobile sidebar state and controls
|
|
18
|
+
* @property {AppSidebarPageItem[]} pages - Array of sidebar page items
|
|
19
|
+
* @property {string} pathname - Current route pathname
|
|
20
|
+
* @property {React.ElementType} linkComponent - Component used for navigation links
|
|
21
|
+
*/
|
|
22
|
+
interface AppSidebarContextProps {
|
|
23
|
+
desktop: {
|
|
24
|
+
isCollapsed: boolean;
|
|
25
|
+
setCollapsed(value: boolean): void;
|
|
26
|
+
toggle(): void;
|
|
27
|
+
};
|
|
28
|
+
mobile: {
|
|
29
|
+
isOpen: boolean;
|
|
30
|
+
close(): void;
|
|
31
|
+
toggle(): void;
|
|
32
|
+
};
|
|
33
|
+
pages: AppSidebarPageItem[];
|
|
34
|
+
pathname: string;
|
|
35
|
+
linkComponent: React.ElementType;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Props for the AppSidebarProvider component
|
|
39
|
+
* @interface AppSidebarProviderProps
|
|
40
|
+
* @property {boolean} initialCollapsed - Initial collapsed state of desktop sidebar
|
|
41
|
+
* @property {AppSidebarPageItem[]} pages - Array of sidebar page items
|
|
42
|
+
* @property {string} pathname - Current route pathname
|
|
43
|
+
* @property {React.ElementType} linkComponent - Component used for navigation links
|
|
44
|
+
* @property {ReactNode} children - Child components
|
|
45
|
+
*/
|
|
46
|
+
interface AppSidebarProviderProps extends PropsWithChildren {
|
|
47
|
+
initialCollapsed: boolean;
|
|
48
|
+
pages: AppSidebarPageItem[];
|
|
49
|
+
pathname: string;
|
|
50
|
+
linkComponent: React.ElementType;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Provider component for sidebar state management
|
|
54
|
+
* @param {AppSidebarProviderProps} props - Component props
|
|
55
|
+
*/
|
|
56
|
+
declare const AppSidebarProvider: ({ initialCollapsed, children, pages, pathname, linkComponent, }: AppSidebarProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
57
|
+
/**
|
|
58
|
+
* Hook for accessing sidebar context
|
|
59
|
+
* @throws {Error} When used outside AppSidebarProvider
|
|
60
|
+
* @returns {AppSidebarContextProps} Sidebar context value
|
|
61
|
+
*/
|
|
62
|
+
declare const useAppSidebarContext: () => AppSidebarContextProps;
|
|
63
|
+
export default AppSidebarProvider;
|
|
64
|
+
export { useAppSidebarContext };
|
|
65
|
+
export type { AppSidebarContextProps, AppSidebarProviderProps, AppSidebarPageItem };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useMemo, useState } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Context for managing sidebar state across desktop and mobile views
|
|
5
|
+
*/
|
|
6
|
+
const AppSidebarContext = createContext(null);
|
|
7
|
+
/**
|
|
8
|
+
* Provider component for sidebar state management
|
|
9
|
+
* @param {AppSidebarProviderProps} props - Component props
|
|
10
|
+
*/
|
|
11
|
+
const AppSidebarProvider = ({ initialCollapsed, children, pages, pathname, linkComponent, }) => {
|
|
12
|
+
const [isOpenMobile, setIsOpenMobile] = useState(false);
|
|
13
|
+
const [isCollapsed, setIsCollapsed] = useState(initialCollapsed);
|
|
14
|
+
function handleSetCollapsed(value) {
|
|
15
|
+
setIsCollapsed(value);
|
|
16
|
+
}
|
|
17
|
+
const value = useMemo(() => ({
|
|
18
|
+
desktop: {
|
|
19
|
+
isCollapsed,
|
|
20
|
+
setCollapsed: handleSetCollapsed,
|
|
21
|
+
toggle: () => handleSetCollapsed(!isCollapsed),
|
|
22
|
+
},
|
|
23
|
+
mobile: {
|
|
24
|
+
isOpen: isOpenMobile,
|
|
25
|
+
close: () => setIsOpenMobile(false),
|
|
26
|
+
toggle: () => setIsOpenMobile((state) => !state),
|
|
27
|
+
},
|
|
28
|
+
pages,
|
|
29
|
+
pathname,
|
|
30
|
+
linkComponent,
|
|
31
|
+
}), [isCollapsed, isOpenMobile, pages, pathname, linkComponent]);
|
|
32
|
+
return _jsx(AppSidebarContext.Provider, { value: value, children: children });
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Hook for accessing sidebar context
|
|
36
|
+
* @throws {Error} When used outside AppSidebarProvider
|
|
37
|
+
* @returns {AppSidebarContextProps} Sidebar context value
|
|
38
|
+
*/
|
|
39
|
+
const useAppSidebarContext = () => {
|
|
40
|
+
const context = useContext(AppSidebarContext);
|
|
41
|
+
if (!context) {
|
|
42
|
+
throw new Error('useSidebarContext must be used within the SidebarContext provider!');
|
|
43
|
+
}
|
|
44
|
+
return context;
|
|
45
|
+
};
|
|
46
|
+
export default AppSidebarProvider;
|
|
47
|
+
export { useAppSidebarContext };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { type ToastVariant } from '../components/ui/Toast';
|
|
4
|
+
export interface PartialToastData {
|
|
5
|
+
title?: string;
|
|
6
|
+
message: string;
|
|
7
|
+
variant: ToastVariant;
|
|
8
|
+
}
|
|
9
|
+
interface ToastContextProps {
|
|
10
|
+
addToast: (props: PartialToastData) => void;
|
|
11
|
+
}
|
|
12
|
+
export declare const useToast: () => ToastContextProps;
|
|
13
|
+
interface ToastProviderProps {
|
|
14
|
+
children: ReactNode;
|
|
15
|
+
}
|
|
16
|
+
export declare const ToastProvider: React.FC<ToastProviderProps>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useCallback, useContext, useMemo, useState } from 'react';
|
|
3
|
+
import Toast from '../components/ui/Toast';
|
|
4
|
+
const ToastContext = createContext(undefined);
|
|
5
|
+
export const useToast = () => {
|
|
6
|
+
const context = useContext(ToastContext);
|
|
7
|
+
if (!context) {
|
|
8
|
+
throw new Error('useToast must be used within a ToastProvider');
|
|
9
|
+
}
|
|
10
|
+
return context;
|
|
11
|
+
};
|
|
12
|
+
export const ToastProvider = ({ children }) => {
|
|
13
|
+
const [toasts, setToasts] = useState([]);
|
|
14
|
+
const removeToast = useCallback((id) => {
|
|
15
|
+
setToasts((prevToasts) => prevToasts.filter((toast) => toast.id !== id));
|
|
16
|
+
}, []);
|
|
17
|
+
const addToast = useCallback((props) => {
|
|
18
|
+
const { message, title = '', variant = 'info' } = props;
|
|
19
|
+
const id = Date.now();
|
|
20
|
+
setToasts((prevToasts) => [...prevToasts, { id, title, message, variant }]);
|
|
21
|
+
// Remove the toast automatically after 5 seconds
|
|
22
|
+
setTimeout(() => {
|
|
23
|
+
removeToast(id);
|
|
24
|
+
}, 5000);
|
|
25
|
+
}, [removeToast]);
|
|
26
|
+
// Wrap the value in useMemo so it remains stable unless addToast changes
|
|
27
|
+
const contextValue = useMemo(() => ({ addToast }), [addToast]);
|
|
28
|
+
return (_jsxs(ToastContext.Provider, { value: contextValue, children: [children, _jsx("div", { className: "fixed right-0 top-4 z-50 m-4 space-y-2", style: { zIndex: 1000 }, children: toasts.map((toast) => (_jsx(Toast, { id: toast.id, title: toast.title, message: toast.message, variant: toast.variant, onClose: removeToast }, toast.id))) })] }));
|
|
29
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as AppBreadcrumbProvider, useAppBreadcrumbs, type AppBreadcrumbContextType, type AppBreadcrumb, } from './BreadcrumbContext';
|
|
2
|
+
export { FormEngineDrawerProvider, useFormEngineDrawer } from './FormEngineDrawerProvider';
|
|
3
|
+
export { MultiFormEngineDrawerProvider, useMultiFormEngineDrawer } from './MultiFormEngineDrawerProvider';
|
|
4
|
+
export { ToastProvider, useToast } from './ToastContext';
|
|
5
|
+
export { default as AppSidebarProvider, useAppSidebarContext, type AppSidebarContextProps, type AppSidebarPageItem, } from './SidebarContext';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { default as AppBreadcrumbProvider, useAppBreadcrumbs, } from './BreadcrumbContext';
|
|
2
|
+
export { FormEngineDrawerProvider, useFormEngineDrawer } from './FormEngineDrawerProvider';
|
|
3
|
+
export { MultiFormEngineDrawerProvider, useMultiFormEngineDrawer } from './MultiFormEngineDrawerProvider';
|
|
4
|
+
export { ToastProvider, useToast } from './ToastContext';
|
|
5
|
+
export { default as AppSidebarProvider, useAppSidebarContext, } from './SidebarContext';
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { QueryProps } from '../../shared/types';
|
|
3
|
+
import type { ChartToolTipProps, DistributionChartTooltip, DistributionQueryProps, MetricData, StatisticsQueryProps, TableColumn, TooltipField } from '../types';
|
|
4
|
+
import { processTooltipFields } from '../utils/tooltipUtils';
|
|
5
|
+
interface BaseChartProps<TData extends {
|
|
6
|
+
id: string | number;
|
|
7
|
+
}> {
|
|
8
|
+
title?: string;
|
|
9
|
+
url?: string;
|
|
10
|
+
query: QueryProps;
|
|
11
|
+
chartDetails?: {
|
|
12
|
+
columns?: any[];
|
|
13
|
+
data?: any[];
|
|
14
|
+
};
|
|
15
|
+
children: (props: {
|
|
16
|
+
loading: boolean;
|
|
17
|
+
error: any;
|
|
18
|
+
isEmpty: boolean;
|
|
19
|
+
refresh: () => void;
|
|
20
|
+
metricData: any[];
|
|
21
|
+
tooltipFormatterFn?: (params: any) => string;
|
|
22
|
+
processedTooltipFields?: ReturnType<typeof processTooltipFields>;
|
|
23
|
+
}) => React.ReactNode;
|
|
24
|
+
detailsModalTitle: string;
|
|
25
|
+
statisticsUrl?: string;
|
|
26
|
+
itemStatisticsQuery: StatisticsQueryProps;
|
|
27
|
+
valueMetricsQuery: StatisticsQueryProps;
|
|
28
|
+
averageMetricsQuery: StatisticsQueryProps;
|
|
29
|
+
distributionMetricsQuery: DistributionQueryProps;
|
|
30
|
+
yAxisDataNameKey: string;
|
|
31
|
+
xAxisNameKey: string;
|
|
32
|
+
xAxisLabel: string;
|
|
33
|
+
yAxisLabel: string;
|
|
34
|
+
nameKey: string;
|
|
35
|
+
valueKey: string;
|
|
36
|
+
dataGridSearchKey: string;
|
|
37
|
+
dataGridColumns: TableColumn<TData>[];
|
|
38
|
+
dataSearchInputPlaceHolder: string;
|
|
39
|
+
chartToolTip?: ChartToolTipProps;
|
|
40
|
+
detailsTableTitle?: string;
|
|
41
|
+
getChartOptions: (data: MetricData[]) => void;
|
|
42
|
+
tooltipValueFormat?: string;
|
|
43
|
+
tooltipTitle?: string;
|
|
44
|
+
tooltipUnit?: string;
|
|
45
|
+
tooltipAdditionalFields?: (string | TooltipField)[];
|
|
46
|
+
topFivePerformingChartTitle?: string;
|
|
47
|
+
bottomFivePerformingChartTitle?: string;
|
|
48
|
+
distributionChartTooltip: DistributionChartTooltip;
|
|
49
|
+
showDetailsModal?: boolean;
|
|
50
|
+
currencyDisplaySymbol?: string;
|
|
51
|
+
}
|
|
52
|
+
declare const BaseChart: <TData extends {
|
|
53
|
+
id: string | number;
|
|
54
|
+
}>({ title, url, query, chartDetails, children, detailsModalTitle, statisticsUrl, itemStatisticsQuery, valueMetricsQuery, averageMetricsQuery, distributionMetricsQuery, yAxisDataNameKey, xAxisNameKey, xAxisLabel, yAxisLabel, nameKey, valueKey, dataGridSearchKey, dataGridColumns, dataSearchInputPlaceHolder, chartToolTip, detailsTableTitle, getChartOptions, tooltipValueFormat, tooltipTitle, tooltipUnit, tooltipAdditionalFields, topFivePerformingChartTitle, bottomFivePerformingChartTitle, distributionChartTooltip, showDetailsModal, currencyDisplaySymbol, ...props }: BaseChartProps<TData>) => import("react/jsx-runtime").JSX.Element;
|
|
55
|
+
export default BaseChart;
|