@burdenoff/microfe-devportal 2026.1107.3 → 2026.1108.2
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/__tests__/utils/renderWithProviders.d.ts +0 -2
- package/dist/_virtual/_rolldown/runtime.js +4 -5
- package/dist/dev/main.d.ts +0 -1
- package/dist/devportal/AdminDevportalRoot.d.ts +0 -2
- package/dist/devportal/AdminDevportalRoot.js +9 -6
- package/dist/devportal/AdminDevportalRoot.js.map +1 -1
- package/dist/devportal/AdminDevportalRoutes.d.ts +1 -2
- package/dist/devportal/AdminDevportalRoutes.js +1 -2
- package/dist/devportal/AdminDevportalRoutes.js.map +1 -1
- package/dist/devportal/DevportalRoot.d.ts +0 -2
- package/dist/devportal/DevportalRoot.js +13 -10
- package/dist/devportal/DevportalRoot.js.map +1 -1
- package/dist/devportal/DevportalRoutes.d.ts +1 -2
- package/dist/devportal/DevportalRoutes.js +46 -40
- package/dist/devportal/DevportalRoutes.js.map +1 -1
- package/dist/devportal/components/AppCard.d.ts +0 -2
- package/dist/devportal/components/AppCard.js +21 -22
- package/dist/devportal/components/AppCard.js.map +1 -1
- package/dist/devportal/components/ConfirmDialog.d.ts +0 -2
- package/dist/devportal/components/ConfirmDialog.js +9 -10
- package/dist/devportal/components/ConfirmDialog.js.map +1 -1
- package/dist/devportal/components/DataTable.d.ts +1 -3
- package/dist/devportal/components/DataTable.js +20 -21
- package/dist/devportal/components/DataTable.js.map +1 -1
- package/dist/devportal/components/EmptyState.d.ts +0 -2
- package/dist/devportal/components/EmptyState.js +1 -2
- package/dist/devportal/components/EmptyState.js.map +1 -1
- package/dist/devportal/components/FeatureFlaggedRoute.d.ts +0 -2
- package/dist/devportal/components/FeatureFlaggedRoute.js +1 -2
- package/dist/devportal/components/FeatureFlaggedRoute.js.map +1 -1
- package/dist/devportal/components/FormField.d.ts +0 -2
- package/dist/devportal/components/FormField.js +23 -24
- package/dist/devportal/components/FormField.js.map +1 -1
- package/dist/devportal/components/GrantDelegationModal.d.ts +0 -2
- package/dist/devportal/components/GrantDelegationModal.js +1 -2
- package/dist/devportal/components/GrantDelegationModal.js.map +1 -1
- package/dist/devportal/components/ImageUploadField.d.ts +0 -2
- package/dist/devportal/components/ImageUploadField.js +1 -2
- package/dist/devportal/components/ImageUploadField.js.map +1 -1
- package/dist/devportal/components/LoadingState.d.ts +0 -2
- package/dist/devportal/components/LoadingState.js +6 -7
- package/dist/devportal/components/LoadingState.js.map +1 -1
- package/dist/devportal/components/ManifestViewer.d.ts +0 -2
- package/dist/devportal/components/ManifestViewer.js +1 -2
- package/dist/devportal/components/ManifestViewer.js.map +1 -1
- package/dist/devportal/components/MarkdownEditor.d.ts +0 -2
- package/dist/devportal/components/MarkdownEditor.js +1 -2
- package/dist/devportal/components/MarkdownEditor.js.map +1 -1
- package/dist/devportal/components/MultiSelectCombobox.d.ts +1 -2
- package/dist/devportal/components/MultiSelectCombobox.js +1 -2
- package/dist/devportal/components/MultiSelectCombobox.js.map +1 -1
- package/dist/devportal/components/NodeSmokePanel.d.ts +0 -2
- package/dist/devportal/components/NodeSmokePanel.js +17 -18
- package/dist/devportal/components/NodeSmokePanel.js.map +1 -1
- package/dist/devportal/components/OnboardingChecklist.d.ts +0 -2
- package/dist/devportal/components/OnboardingChecklist.js +15 -16
- package/dist/devportal/components/OnboardingChecklist.js.map +1 -1
- package/dist/devportal/components/PackageValidationPanel.d.ts +0 -2
- package/dist/devportal/components/PackageValidationPanel.js +12 -13
- package/dist/devportal/components/PackageValidationPanel.js.map +1 -1
- package/dist/devportal/components/PageLayout.d.ts +0 -2
- package/dist/devportal/components/PageLayout.js +16 -17
- package/dist/devportal/components/PageLayout.js.map +1 -1
- package/dist/devportal/components/PermissionGuard.d.ts +0 -2
- package/dist/devportal/components/PermissionGuard.js +5 -6
- package/dist/devportal/components/PermissionGuard.js.map +1 -1
- package/dist/devportal/components/RegisterPickupLocationModal.d.ts +0 -2
- package/dist/devportal/components/RegisterPickupLocationModal.js +13 -14
- package/dist/devportal/components/RegisterPickupLocationModal.js.map +1 -1
- package/dist/devportal/components/ReportOrderIssueModal.d.ts +0 -2
- package/dist/devportal/components/ReportOrderIssueModal.js +1 -2
- package/dist/devportal/components/ReportOrderIssueModal.js.map +1 -1
- package/dist/devportal/components/SecretDisplay.d.ts +0 -2
- package/dist/devportal/components/SecretDisplay.js +8 -9
- package/dist/devportal/components/SecretDisplay.js.map +1 -1
- package/dist/devportal/components/SectionNav.d.ts +0 -2
- package/dist/devportal/components/SectionNav.js +11 -12
- package/dist/devportal/components/SectionNav.js.map +1 -1
- package/dist/devportal/components/SelectionCheckbox.d.ts +1 -2
- package/dist/devportal/components/SelectionCheckbox.js +1 -2
- package/dist/devportal/components/SelectionCheckbox.js.map +1 -1
- package/dist/devportal/components/StatCard.d.ts +0 -2
- package/dist/devportal/components/StatCard.js +1 -2
- package/dist/devportal/components/StatCard.js.map +1 -1
- package/dist/devportal/components/StatusBadge.d.ts +0 -2
- package/dist/devportal/components/StatusBadge.js +18 -19
- package/dist/devportal/components/StatusBadge.js.map +1 -1
- package/dist/devportal/components/TelemetryErrorBoundary.d.ts +0 -2
- package/dist/devportal/components/TelemetryErrorBoundary.js +1 -2
- package/dist/devportal/components/TelemetryErrorBoundary.js.map +1 -1
- package/dist/devportal/components/index.d.ts +0 -1
- package/dist/devportal/components/index.js +22 -21
- package/dist/devportal/constants/appCategories.d.ts +0 -1
- package/dist/devportal/constants/appCategories.js +1 -2
- package/dist/devportal/constants/appCategories.js.map +1 -1
- package/dist/devportal/constants/developerLinks.d.ts +0 -1
- package/dist/devportal/constants/developerLinks.js +23 -23
- package/dist/devportal/constants/developerLinks.js.map +1 -1
- package/dist/devportal/constants/permissions.d.ts +0 -1
- package/dist/devportal/constants/permissions.js +1 -2
- package/dist/devportal/constants/permissions.js.map +1 -1
- package/dist/devportal/events/index.d.ts +0 -1
- package/dist/devportal/events/index.js +1 -2
- package/dist/devportal/events/index.js.map +1 -1
- package/dist/devportal/hooks/DevPortalProvider.d.ts +1 -3
- package/dist/devportal/hooks/DevPortalProvider.js +2 -3
- package/dist/devportal/hooks/DevPortalProvider.js.map +1 -1
- package/dist/devportal/hooks/index.d.ts +0 -1
- package/dist/devportal/hooks/index.js +6 -5
- package/dist/devportal/hooks/useCarrierPickupLocations.d.ts +0 -1
- package/dist/devportal/hooks/useCarrierPickupLocations.js +1 -2
- package/dist/devportal/hooks/useCarrierPickupLocations.js.map +1 -1
- package/dist/devportal/hooks/useGraphQL.d.ts +0 -2
- package/dist/devportal/hooks/useGraphQL.js +42 -53
- package/dist/devportal/hooks/useGraphQL.js.map +1 -1
- package/dist/devportal/hooks/useIsSellerSection.d.ts +0 -1
- package/dist/devportal/hooks/useIsSellerSection.js +1 -2
- package/dist/devportal/hooks/useIsSellerSection.js.map +1 -1
- package/dist/devportal/hooks/useOrganizationPickupAddresses.d.ts +0 -1
- package/dist/devportal/hooks/useOrganizationPickupAddresses.js +3 -8
- package/dist/devportal/hooks/useOrganizationPickupAddresses.js.map +1 -1
- package/dist/devportal/hooks/usePackageUpload.d.ts +0 -1
- package/dist/devportal/hooks/usePackageUpload.js +4 -4
- package/dist/devportal/hooks/usePackageUpload.js.map +1 -1
- package/dist/devportal/hooks/usePermission.d.ts +0 -2
- package/dist/devportal/hooks/usePermission.js +2 -3
- package/dist/devportal/hooks/usePermission.js.map +1 -1
- package/dist/devportal/hooks/useProducts.d.ts +0 -1
- package/dist/devportal/hooks/useProducts.js +1 -2
- package/dist/devportal/hooks/useProducts.js.map +1 -1
- package/dist/devportal/hooks/useSellerOrganization.d.ts +0 -1
- package/dist/devportal/hooks/useSellerOrganization.js +1 -2
- package/dist/devportal/hooks/useSellerOrganization.js.map +1 -1
- package/dist/devportal/index.d.ts +0 -1
- package/dist/devportal/index.js +13 -12
- package/dist/devportal/pages/AdminOrganizationVerificationPage.d.ts +0 -2
- package/dist/devportal/pages/AdminOrganizationVerificationPage.js +13 -13
- package/dist/devportal/pages/AdminOrganizationVerificationPage.js.map +1 -1
- package/dist/devportal/pages/AdminReviewPage.d.ts +0 -2
- package/dist/devportal/pages/AdminReviewPage.js +134 -135
- package/dist/devportal/pages/AdminReviewPage.js.map +1 -1
- package/dist/devportal/pages/AnalyticsDashboardPage.d.ts +0 -2
- package/dist/devportal/pages/AnalyticsDashboardPage.js +66 -67
- package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
- package/dist/devportal/pages/ApiKeysPage.d.ts +0 -2
- package/dist/devportal/pages/ApiKeysPage.js +127 -128
- package/dist/devportal/pages/ApiKeysPage.js.map +1 -1
- package/dist/devportal/pages/AppLogsPage.d.ts +0 -2
- package/dist/devportal/pages/AppLogsPage.js +18 -19
- package/dist/devportal/pages/AppLogsPage.js.map +1 -1
- package/dist/devportal/pages/ApplicationDetailPage.d.ts +0 -2
- package/dist/devportal/pages/ApplicationDetailPage.js +779 -778
- package/dist/devportal/pages/ApplicationDetailPage.js.map +1 -1
- package/dist/devportal/pages/ApplicationVersionsPage.d.ts +0 -2
- package/dist/devportal/pages/ApplicationVersionsPage.js +482 -483
- package/dist/devportal/pages/ApplicationVersionsPage.js.map +1 -1
- package/dist/devportal/pages/ApplicationsPage.d.ts +0 -2
- package/dist/devportal/pages/ApplicationsPage.js +35 -36
- package/dist/devportal/pages/ApplicationsPage.js.map +1 -1
- package/dist/devportal/pages/CreateApiKeyPage.d.ts +0 -2
- package/dist/devportal/pages/CreateApiKeyPage.js +39 -39
- package/dist/devportal/pages/CreateApiKeyPage.js.map +1 -1
- package/dist/devportal/pages/CreateApplicationPage.d.ts +0 -2
- package/dist/devportal/pages/CreateApplicationPage.js +136 -137
- package/dist/devportal/pages/CreateApplicationPage.js.map +1 -1
- package/dist/devportal/pages/CreateOAuthClientPage.d.ts +0 -2
- package/dist/devportal/pages/CreateOAuthClientPage.js +25 -24
- package/dist/devportal/pages/CreateOAuthClientPage.js.map +1 -1
- package/dist/devportal/pages/CreateOrganizationPage.d.ts +0 -2
- package/dist/devportal/pages/CreateOrganizationPage.js +32 -39
- package/dist/devportal/pages/CreateOrganizationPage.js.map +1 -1
- package/dist/devportal/pages/CreatePhysicalItemPage.d.ts +0 -2
- package/dist/devportal/pages/CreatePhysicalItemPage.js +102 -103
- package/dist/devportal/pages/CreatePhysicalItemPage.js.map +1 -1
- package/dist/devportal/pages/CreateWebhookPage.d.ts +0 -2
- package/dist/devportal/pages/CreateWebhookPage.js +31 -32
- package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
- package/dist/devportal/pages/DashboardPage.d.ts +0 -2
- package/dist/devportal/pages/DashboardPage.js +21 -22
- package/dist/devportal/pages/DashboardPage.js.map +1 -1
- package/dist/devportal/pages/DelegationsPage.d.ts +0 -2
- package/dist/devportal/pages/DelegationsPage.js +83 -84
- package/dist/devportal/pages/DelegationsPage.js.map +1 -1
- package/dist/devportal/pages/DocumentationPage.d.ts +0 -2
- package/dist/devportal/pages/DocumentationPage.js +1 -2
- package/dist/devportal/pages/DocumentationPage.js.map +1 -1
- package/dist/devportal/pages/EditApplicationPage.d.ts +0 -2
- package/dist/devportal/pages/EditApplicationPage.js +69 -70
- package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
- package/dist/devportal/pages/EditPhysicalItemPage.d.ts +0 -2
- package/dist/devportal/pages/EditPhysicalItemPage.js +334 -335
- package/dist/devportal/pages/EditPhysicalItemPage.js.map +1 -1
- package/dist/devportal/pages/InvitationDecisionPage.d.ts +0 -2
- package/dist/devportal/pages/InvitationDecisionPage.js +16 -17
- package/dist/devportal/pages/InvitationDecisionPage.js.map +1 -1
- package/dist/devportal/pages/ListingPreviewPage.d.ts +0 -2
- package/dist/devportal/pages/ListingPreviewPage.js +14 -15
- package/dist/devportal/pages/ListingPreviewPage.js.map +1 -1
- package/dist/devportal/pages/NodeLifecyclePage.d.ts +0 -2
- package/dist/devportal/pages/NodeLifecyclePage.js +216 -221
- package/dist/devportal/pages/NodeLifecyclePage.js.map +1 -1
- package/dist/devportal/pages/OAuthCallbackPage.d.ts +0 -2
- package/dist/devportal/pages/OAuthCallbackPage.js +4 -5
- package/dist/devportal/pages/OAuthCallbackPage.js.map +1 -1
- package/dist/devportal/pages/OAuthClientDetailPage.d.ts +0 -2
- package/dist/devportal/pages/OAuthClientDetailPage.js +17 -16
- package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
- package/dist/devportal/pages/OAuthClientsPage.d.ts +0 -2
- package/dist/devportal/pages/OAuthClientsPage.js +18 -19
- package/dist/devportal/pages/OAuthClientsPage.js.map +1 -1
- package/dist/devportal/pages/OrganizationDetailPage.d.ts +0 -2
- package/dist/devportal/pages/OrganizationDetailPage.js +444 -450
- package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
- package/dist/devportal/pages/OrganizationMembersPage.d.ts +0 -2
- package/dist/devportal/pages/OrganizationMembersPage.js +240 -241
- package/dist/devportal/pages/OrganizationMembersPage.js.map +1 -1
- package/dist/devportal/pages/OrganizationsPage.d.ts +0 -2
- package/dist/devportal/pages/OrganizationsPage.js +34 -35
- package/dist/devportal/pages/OrganizationsPage.js.map +1 -1
- package/dist/devportal/pages/PublishPage.d.ts +0 -2
- package/dist/devportal/pages/PublishPage.js +90 -91
- package/dist/devportal/pages/PublishPage.js.map +1 -1
- package/dist/devportal/pages/PublisherPayoutsPage.d.ts +19 -0
- package/dist/devportal/pages/PublisherPayoutsPage.js +650 -0
- package/dist/devportal/pages/PublisherPayoutsPage.js.map +1 -0
- package/dist/devportal/pages/PublisherProfilePage.d.ts +0 -2
- package/dist/devportal/pages/PublisherProfilePage.js +175 -163
- package/dist/devportal/pages/PublisherProfilePage.js.map +1 -1
- package/dist/devportal/pages/ResourcesPage.d.ts +0 -2
- package/dist/devportal/pages/ResourcesPage.js +17 -18
- package/dist/devportal/pages/ResourcesPage.js.map +1 -1
- package/dist/devportal/pages/RevenueDashboardPage.d.ts +0 -2
- package/dist/devportal/pages/RevenueDashboardPage.js +308 -308
- package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -1
- package/dist/devportal/pages/RevenueRedirectPage.d.ts +0 -2
- package/dist/devportal/pages/SellerDashboardPage.d.ts +0 -2
- package/dist/devportal/pages/SellerDashboardPage.js +14 -15
- package/dist/devportal/pages/SellerDashboardPage.js.map +1 -1
- package/dist/devportal/pages/SellerItemsPage.d.ts +0 -2
- package/dist/devportal/pages/SellerItemsPage.js +8 -9
- package/dist/devportal/pages/SellerItemsPage.js.map +1 -1
- package/dist/devportal/pages/SellerOrdersPage.d.ts +0 -2
- package/dist/devportal/pages/SellerOrdersPage.js +10 -14
- package/dist/devportal/pages/SellerOrdersPage.js.map +1 -1
- package/dist/devportal/pages/SettingsPage.d.ts +0 -2
- package/dist/devportal/pages/SettingsPage.js +20 -21
- package/dist/devportal/pages/SettingsPage.js.map +1 -1
- package/dist/devportal/pages/SetupPage.d.ts +0 -2
- package/dist/devportal/pages/SetupPage.js +276 -277
- package/dist/devportal/pages/SetupPage.js.map +1 -1
- package/dist/devportal/pages/StoreSubmissionPage.d.ts +0 -2
- package/dist/devportal/pages/StoreSubmissionPage.js +4 -5
- package/dist/devportal/pages/StoreSubmissionPage.js.map +1 -1
- package/dist/devportal/pages/WebhookDetailPage.d.ts +0 -2
- package/dist/devportal/pages/WebhookDetailPage.js +62 -67
- package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
- package/dist/devportal/pages/WebhooksPage.d.ts +0 -2
- package/dist/devportal/pages/WebhooksPage.js +130 -131
- package/dist/devportal/pages/WebhooksPage.js.map +1 -1
- package/dist/devportal/providers/DevportalProvider.d.ts +0 -2
- package/dist/devportal/providers/DevportalProvider.js +2 -3
- package/dist/devportal/providers/DevportalProvider.js.map +1 -1
- package/dist/devportal/store/devportalStore.d.ts +0 -2
- package/dist/devportal/store/devportalStore.js +1 -2
- package/dist/devportal/store/devportalStore.js.map +1 -1
- package/dist/devportal/types/index.d.ts +0 -2
- package/dist/devportal/types/index.js +1 -2
- package/dist/devportal/types/index.js.map +1 -1
- package/dist/devportal/utils/cn.d.ts +0 -2
- package/dist/devportal/utils/cn.js +2 -3
- package/dist/devportal/utils/cn.js.map +1 -1
- package/dist/devportal/utils/constants.d.ts +0 -1
- package/dist/devportal/utils/constants.js +1 -2
- package/dist/devportal/utils/constants.js.map +1 -1
- package/dist/devportal/utils/currency.d.ts +0 -1
- package/dist/devportal/utils/currency.js +1 -2
- package/dist/devportal/utils/currency.js.map +1 -1
- package/dist/devportal/utils/developerOnboarding.d.ts +0 -1
- package/dist/devportal/utils/developerOnboarding.js +4 -5
- package/dist/devportal/utils/developerOnboarding.js.map +1 -1
- package/dist/devportal/utils/graphqlEndpoint.d.ts +0 -1
- package/dist/devportal/utils/graphqlEndpoint.js +1 -2
- package/dist/devportal/utils/graphqlEndpoint.js.map +1 -1
- package/dist/devportal/utils/i18n.d.ts +0 -1
- package/dist/devportal/utils/i18n.js +1 -2
- package/dist/devportal/utils/i18n.js.map +1 -1
- package/dist/devportal/utils/nodeLifecycle.d.ts +0 -2
- package/dist/devportal/utils/nodeLifecycle.js +6 -7
- package/dist/devportal/utils/nodeLifecycle.js.map +1 -1
- package/dist/devportal/utils/publisherPayouts.d.ts +136 -0
- package/dist/devportal/utils/publisherPayouts.js +166 -0
- package/dist/devportal/utils/publisherPayouts.js.map +1 -0
- package/dist/devportal/utils/recaptcha.d.ts +0 -1
- package/dist/devportal/utils/recaptcha.js +1 -2
- package/dist/devportal/utils/recaptcha.js.map +1 -1
- package/dist/devportal/utils/submitForReview.d.ts +0 -1
- package/dist/devportal/utils/submitForReview.js +15 -14
- package/dist/devportal/utils/submitForReview.js.map +1 -1
- package/dist/devportal/utils/uploadErrors.d.ts +0 -1
- package/dist/devportal/utils/uploadErrors.js +30 -30
- package/dist/devportal/utils/uploadErrors.js.map +1 -1
- package/dist/generated/global-operations.d.ts +2614 -2317
- package/dist/generated/global-operations.js +412 -272
- package/dist/generated/global-operations.js.map +1 -1
- package/dist/generated/global-types.d.ts +2288 -339
- package/dist/generated/global-types.js +4 -3
- package/dist/generated/global-types.js.map +1 -1
- package/dist/generated/wspace-operations.d.ts +31 -8
- package/dist/generated/wspace-operations.js +2 -3
- package/dist/generated/wspace-operations.js.map +1 -1
- package/dist/generated/wspace-types.d.ts +4 -24
- package/dist/index.d.ts +0 -1
- package/dist/index.js +1 -1
- package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +1 -2
- package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -1
- package/dist/node_modules/@apollo/client/errors/ServerError.js +1 -2
- package/dist/node_modules/@apollo/client/errors/ServerError.js.map +1 -1
- package/dist/node_modules/@apollo/client/errors/utils.js +1 -2
- package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -1
- package/dist/node_modules/@apollo/client/link/core/ApolloLink.js +7 -8
- package/dist/node_modules/@apollo/client/link/core/ApolloLink.js.map +1 -1
- package/dist/node_modules/@apollo/client/link/subscriptions/index.js +16 -17
- package/dist/node_modules/@apollo/client/link/subscriptions/index.js.map +1 -1
- package/dist/node_modules/@apollo/client/link/utils/createOperation.js +5 -6
- package/dist/node_modules/@apollo/client/link/utils/createOperation.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/caching/sizes.js +0 -1
- package/dist/node_modules/@apollo/client/utilities/caching/sizes.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/graphql/print.js +4 -5
- package/dist/node_modules/@apollo/client/utilities/graphql/print.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/caches.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/caches.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js +2 -3
- package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/memoize.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/memoize.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js +1 -2
- package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js.map +1 -1
- package/dist/node_modules/@apollo/client/utilities/invariant/index.js +2 -3
- package/dist/node_modules/@apollo/client/utilities/invariant/index.js.map +1 -1
- package/dist/node_modules/@apollo/client/version.js +2 -3
- package/dist/node_modules/@apollo/client/version.js.map +1 -1
- package/dist/node_modules/@wry/caches/lib/weak.js +1 -2
- package/dist/node_modules/@wry/caches/lib/weak.js.map +1 -1
- package/dist/node_modules/@wry/trie/lib/index.js +2 -3
- package/dist/node_modules/@wry/trie/lib/index.js.map +1 -1
- package/dist/node_modules/clsx/dist/clsx.js +8 -7
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
- package/dist/node_modules/d3-array/dist/d3-array.js +204 -0
- package/dist/node_modules/d3-array/dist/d3-array.js.map +1 -0
- package/dist/node_modules/d3-color/dist/d3-color.js +388 -0
- package/dist/node_modules/d3-color/dist/d3-color.js.map +1 -0
- package/dist/node_modules/d3-format/dist/d3-format.js +186 -0
- package/dist/node_modules/d3-format/dist/d3-format.js.map +1 -0
- package/dist/node_modules/d3-interpolate/dist/d3-interpolate.js +185 -0
- package/dist/node_modules/d3-interpolate/dist/d3-interpolate.js.map +1 -0
- package/dist/node_modules/d3-path/{src/path.js → dist/d3-path.js} +39 -14
- package/dist/node_modules/d3-path/dist/d3-path.js.map +1 -0
- package/dist/node_modules/d3-scale/dist/d3-scale.js +622 -0
- package/dist/node_modules/d3-scale/dist/d3-scale.js.map +1 -0
- package/dist/node_modules/d3-shape/dist/d3-shape.js +901 -0
- package/dist/node_modules/d3-shape/dist/d3-shape.js.map +1 -0
- package/dist/node_modules/d3-time/dist/d3-time.js +241 -0
- package/dist/node_modules/d3-time/dist/d3-time.js.map +1 -0
- package/dist/node_modules/d3-time-format/{src/locale.js → dist/d3-time-format.js} +229 -174
- package/dist/node_modules/d3-time-format/dist/d3-time-format.js.map +1 -0
- package/dist/node_modules/date-fns/_lib/addLeadingZeros.js +1 -2
- package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/defaultOptions.js +1 -2
- package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/formatters.js +29 -22
- package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/lightFormatters.js +3 -4
- package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/format/longFormatters.js +2 -5
- package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +2 -3
- package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
- package/dist/node_modules/date-fns/_lib/protectedTokens.js +1 -2
- package/dist/node_modules/date-fns/_lib/protectedTokens.js.map +1 -1
- package/dist/node_modules/date-fns/constants.js +5 -5
- package/dist/node_modules/date-fns/constants.js.map +1 -1
- package/dist/node_modules/date-fns/constructFrom.js +2 -3
- package/dist/node_modules/date-fns/constructFrom.js.map +1 -1
- package/dist/node_modules/date-fns/differenceInCalendarDays.js +2 -3
- package/dist/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
- package/dist/node_modules/date-fns/format.js +15 -16
- package/dist/node_modules/date-fns/format.js.map +1 -1
- package/dist/node_modules/date-fns/getDayOfYear.js +7 -8
- package/dist/node_modules/date-fns/getDayOfYear.js.map +1 -1
- package/dist/node_modules/date-fns/getISOWeek.js +8 -9
- package/dist/node_modules/date-fns/getISOWeek.js.map +1 -1
- package/dist/node_modules/date-fns/getISOWeekYear.js +8 -9
- package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/getWeek.js +8 -9
- package/dist/node_modules/date-fns/getWeek.js.map +1 -1
- package/dist/node_modules/date-fns/getWeekYear.js +9 -10
- package/dist/node_modules/date-fns/getWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/isDate.js +2 -3
- package/dist/node_modules/date-fns/isDate.js.map +1 -1
- package/dist/node_modules/date-fns/isValid.js +6 -7
- package/dist/node_modules/date-fns/isValid.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +1 -2
- package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +1 -2
- package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +1 -2
- package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +1 -2
- package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +1 -2
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js +0 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +1 -2
- package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js +0 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/match.js +0 -1
- package/dist/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -1
- package/dist/node_modules/date-fns/locale/en-US.js +2 -3
- package/dist/node_modules/date-fns/locale/en-US.js.map +1 -1
- package/dist/node_modules/date-fns/startOfDay.js +2 -3
- package/dist/node_modules/date-fns/startOfDay.js.map +1 -1
- package/dist/node_modules/date-fns/startOfISOWeek.js +2 -3
- package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -1
- package/dist/node_modules/date-fns/startOfISOWeekYear.js +5 -6
- package/dist/node_modules/date-fns/startOfISOWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/startOfWeek.js +2 -3
- package/dist/node_modules/date-fns/startOfWeek.js.map +1 -1
- package/dist/node_modules/date-fns/startOfWeekYear.js +6 -7
- package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -1
- package/dist/node_modules/date-fns/startOfYear.js +3 -4
- package/dist/node_modules/date-fns/startOfYear.js.map +1 -1
- package/dist/node_modules/date-fns/toDate.js +2 -3
- package/dist/node_modules/date-fns/toDate.js.map +1 -1
- package/dist/node_modules/decimal.js-light/decimal.js +33 -30
- package/dist/node_modules/decimal.js-light/decimal.js.map +1 -1
- package/dist/node_modules/eventemitter3/index.js +2 -3
- package/dist/node_modules/eventemitter3/index.js.map +1 -1
- package/dist/node_modules/fast-equals/dist/es/index.js +109 -79
- package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -1
- package/dist/node_modules/graphql-ws/dist/client.js +76 -69
- package/dist/node_modules/graphql-ws/dist/client.js.map +1 -1
- package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js +2 -3
- package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js.map +1 -1
- package/dist/node_modules/lodash/_DataView.js +4 -5
- package/dist/node_modules/lodash/_DataView.js.map +1 -1
- package/dist/node_modules/lodash/_Hash.js +1 -2
- package/dist/node_modules/lodash/_Hash.js.map +1 -1
- package/dist/node_modules/lodash/_ListCache.js +1 -2
- package/dist/node_modules/lodash/_ListCache.js.map +1 -1
- package/dist/node_modules/lodash/_Map.js +4 -5
- package/dist/node_modules/lodash/_Map.js.map +1 -1
- package/dist/node_modules/lodash/_MapCache.js +1 -2
- package/dist/node_modules/lodash/_MapCache.js.map +1 -1
- package/dist/node_modules/lodash/_Promise.js +4 -5
- package/dist/node_modules/lodash/_Promise.js.map +1 -1
- package/dist/node_modules/lodash/_Set.js +4 -5
- package/dist/node_modules/lodash/_Set.js.map +1 -1
- package/dist/node_modules/lodash/_SetCache.js +1 -2
- package/dist/node_modules/lodash/_SetCache.js.map +1 -1
- package/dist/node_modules/lodash/_Stack.js +3 -3
- package/dist/node_modules/lodash/_Stack.js.map +1 -1
- package/dist/node_modules/lodash/_Symbol.js +1 -2
- package/dist/node_modules/lodash/_Symbol.js.map +1 -1
- package/dist/node_modules/lodash/_Uint8Array.js +1 -2
- package/dist/node_modules/lodash/_Uint8Array.js.map +1 -1
- package/dist/node_modules/lodash/_WeakMap.js +4 -5
- package/dist/node_modules/lodash/_WeakMap.js.map +1 -1
- package/dist/node_modules/lodash/_apply.js +1 -2
- package/dist/node_modules/lodash/_apply.js.map +1 -1
- package/dist/node_modules/lodash/_arrayEvery.js +1 -2
- package/dist/node_modules/lodash/_arrayEvery.js.map +1 -1
- package/dist/node_modules/lodash/_arrayFilter.js +1 -2
- package/dist/node_modules/lodash/_arrayFilter.js.map +1 -1
- package/dist/node_modules/lodash/_arrayIncludes.js +1 -2
- package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -1
- package/dist/node_modules/lodash/_arrayIncludesWith.js +1 -2
- package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -1
- package/dist/node_modules/lodash/_arrayLikeKeys.js +5 -6
- package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -1
- package/dist/node_modules/lodash/_arrayMap.js +1 -2
- package/dist/node_modules/lodash/_arrayMap.js.map +1 -1
- package/dist/node_modules/lodash/_arrayPush.js +1 -2
- package/dist/node_modules/lodash/_arrayPush.js.map +1 -1
- package/dist/node_modules/lodash/_arraySome.js +1 -2
- package/dist/node_modules/lodash/_arraySome.js.map +1 -1
- package/dist/node_modules/lodash/_asciiToArray.js +1 -2
- package/dist/node_modules/lodash/_asciiToArray.js.map +1 -1
- package/dist/node_modules/lodash/_assocIndexOf.js +1 -2
- package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -1
- package/dist/node_modules/lodash/_baseAssignValue.js +1 -2
- package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -1
- package/dist/node_modules/lodash/_baseEach.js +1 -2
- package/dist/node_modules/lodash/_baseEach.js.map +1 -1
- package/dist/node_modules/lodash/_baseEvery.js +1 -2
- package/dist/node_modules/lodash/_baseEvery.js.map +1 -1
- package/dist/node_modules/lodash/_baseExtremum.js +1 -2
- package/dist/node_modules/lodash/_baseExtremum.js.map +1 -1
- package/dist/node_modules/lodash/_baseFindIndex.js +1 -2
- package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -1
- package/dist/node_modules/lodash/_baseFlatten.js +1 -2
- package/dist/node_modules/lodash/_baseFlatten.js.map +1 -1
- package/dist/node_modules/lodash/_baseFor.js +1 -2
- package/dist/node_modules/lodash/_baseFor.js.map +1 -1
- package/dist/node_modules/lodash/_baseForOwn.js +4 -5
- package/dist/node_modules/lodash/_baseForOwn.js.map +1 -1
- package/dist/node_modules/lodash/_baseGet.js +1 -2
- package/dist/node_modules/lodash/_baseGet.js.map +1 -1
- package/dist/node_modules/lodash/_baseGetAllKeys.js +4 -5
- package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -1
- package/dist/node_modules/lodash/_baseGetTag.js +1 -2
- package/dist/node_modules/lodash/_baseGetTag.js.map +1 -1
- package/dist/node_modules/lodash/_baseGt.js +1 -2
- package/dist/node_modules/lodash/_baseGt.js.map +1 -1
- package/dist/node_modules/lodash/_baseHasIn.js +1 -2
- package/dist/node_modules/lodash/_baseHasIn.js.map +1 -1
- package/dist/node_modules/lodash/_baseIndexOf.js +1 -2
- package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -1
- package/dist/node_modules/lodash/_baseIsArguments.js +1 -2
- package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -1
- package/dist/node_modules/lodash/_baseIsEqual.js +4 -5
- package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -1
- package/dist/node_modules/lodash/_baseIsEqualDeep.js +10 -11
- package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -1
- package/dist/node_modules/lodash/_baseIsMatch.js +1 -2
- package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -1
- package/dist/node_modules/lodash/_baseIsNaN.js +1 -2
- package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -1
- package/dist/node_modules/lodash/_baseIsNative.js +5 -6
- package/dist/node_modules/lodash/_baseIsNative.js.map +1 -1
- package/dist/node_modules/lodash/_baseIsTypedArray.js +4 -5
- package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -1
- package/dist/node_modules/lodash/_baseIteratee.js +6 -7
- package/dist/node_modules/lodash/_baseIteratee.js.map +1 -1
- package/dist/node_modules/lodash/_baseKeys.js +1 -2
- package/dist/node_modules/lodash/_baseKeys.js.map +1 -1
- package/dist/node_modules/lodash/_baseLt.js +1 -2
- package/dist/node_modules/lodash/_baseLt.js.map +1 -1
- package/dist/node_modules/lodash/_baseMap.js +4 -5
- package/dist/node_modules/lodash/_baseMap.js.map +1 -1
- package/dist/node_modules/lodash/_baseMatches.js +1 -2
- package/dist/node_modules/lodash/_baseMatches.js.map +1 -1
- package/dist/node_modules/lodash/_baseMatchesProperty.js +7 -8
- package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -1
- package/dist/node_modules/lodash/_baseOrderBy.js +11 -12
- package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -1
- package/dist/node_modules/lodash/_baseProperty.js +1 -2
- package/dist/node_modules/lodash/_baseProperty.js.map +1 -1
- package/dist/node_modules/lodash/_basePropertyDeep.js +1 -2
- package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -1
- package/dist/node_modules/lodash/_baseRange.js +1 -2
- package/dist/node_modules/lodash/_baseRange.js.map +1 -1
- package/dist/node_modules/lodash/_baseRest.js +1 -2
- package/dist/node_modules/lodash/_baseRest.js.map +1 -1
- package/dist/node_modules/lodash/_baseSetToString.js +5 -6
- package/dist/node_modules/lodash/_baseSetToString.js.map +1 -1
- package/dist/node_modules/lodash/_baseSlice.js +1 -2
- package/dist/node_modules/lodash/_baseSlice.js.map +1 -1
- package/dist/node_modules/lodash/_baseSome.js +1 -2
- package/dist/node_modules/lodash/_baseSome.js.map +1 -1
- package/dist/node_modules/lodash/_baseSortBy.js +1 -2
- package/dist/node_modules/lodash/_baseSortBy.js.map +1 -1
- package/dist/node_modules/lodash/_baseTimes.js +1 -2
- package/dist/node_modules/lodash/_baseTimes.js.map +1 -1
- package/dist/node_modules/lodash/_baseToString.js +6 -7
- package/dist/node_modules/lodash/_baseToString.js.map +1 -1
- package/dist/node_modules/lodash/_baseTrim.js +1 -2
- package/dist/node_modules/lodash/_baseTrim.js.map +1 -1
- package/dist/node_modules/lodash/_baseUnary.js +1 -2
- package/dist/node_modules/lodash/_baseUnary.js.map +1 -1
- package/dist/node_modules/lodash/_baseUniq.js +7 -8
- package/dist/node_modules/lodash/_baseUniq.js.map +1 -1
- package/dist/node_modules/lodash/_cacheHas.js +1 -2
- package/dist/node_modules/lodash/_cacheHas.js.map +1 -1
- package/dist/node_modules/lodash/_castPath.js +1 -2
- package/dist/node_modules/lodash/_castPath.js.map +1 -1
- package/dist/node_modules/lodash/_castSlice.js +1 -2
- package/dist/node_modules/lodash/_castSlice.js.map +1 -1
- package/dist/node_modules/lodash/_compareAscending.js +1 -2
- package/dist/node_modules/lodash/_compareAscending.js.map +1 -1
- package/dist/node_modules/lodash/_compareMultiple.js +1 -2
- package/dist/node_modules/lodash/_compareMultiple.js.map +1 -1
- package/dist/node_modules/lodash/_coreJsData.js +1 -2
- package/dist/node_modules/lodash/_coreJsData.js.map +1 -1
- package/dist/node_modules/lodash/_createBaseEach.js +1 -2
- package/dist/node_modules/lodash/_createBaseEach.js.map +1 -1
- package/dist/node_modules/lodash/_createBaseFor.js +1 -2
- package/dist/node_modules/lodash/_createBaseFor.js.map +1 -1
- package/dist/node_modules/lodash/_createCaseFirst.js +6 -7
- package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -1
- package/dist/node_modules/lodash/_createFind.js +5 -6
- package/dist/node_modules/lodash/_createFind.js.map +1 -1
- package/dist/node_modules/lodash/_createRange.js +4 -5
- package/dist/node_modules/lodash/_createRange.js.map +1 -1
- package/dist/node_modules/lodash/_createSet.js +6 -7
- package/dist/node_modules/lodash/_createSet.js.map +1 -1
- package/dist/node_modules/lodash/_defineProperty.js +1 -2
- package/dist/node_modules/lodash/_defineProperty.js.map +1 -1
- package/dist/node_modules/lodash/_equalArrays.js +1 -2
- package/dist/node_modules/lodash/_equalArrays.js.map +1 -1
- package/dist/node_modules/lodash/_equalByTag.js +5 -6
- package/dist/node_modules/lodash/_equalByTag.js.map +1 -1
- package/dist/node_modules/lodash/_equalObjects.js +1 -2
- package/dist/node_modules/lodash/_equalObjects.js.map +1 -1
- package/dist/node_modules/lodash/_freeGlobal.js +1 -2
- package/dist/node_modules/lodash/_freeGlobal.js.map +1 -1
- package/dist/node_modules/lodash/_getAllKeys.js +1 -2
- package/dist/node_modules/lodash/_getAllKeys.js.map +1 -1
- package/dist/node_modules/lodash/_getMapData.js +1 -2
- package/dist/node_modules/lodash/_getMapData.js.map +1 -1
- package/dist/node_modules/lodash/_getMatchData.js +4 -5
- package/dist/node_modules/lodash/_getMatchData.js.map +1 -1
- package/dist/node_modules/lodash/_getNative.js +1 -2
- package/dist/node_modules/lodash/_getNative.js.map +1 -1
- package/dist/node_modules/lodash/_getPrototype.js +1 -2
- package/dist/node_modules/lodash/_getPrototype.js.map +1 -1
- package/dist/node_modules/lodash/_getRawTag.js +1 -2
- package/dist/node_modules/lodash/_getRawTag.js.map +1 -1
- package/dist/node_modules/lodash/_getSymbols.js +1 -2
- package/dist/node_modules/lodash/_getSymbols.js.map +1 -1
- package/dist/node_modules/lodash/_getTag.js +9 -10
- package/dist/node_modules/lodash/_getTag.js.map +1 -1
- package/dist/node_modules/lodash/_getValue.js +1 -2
- package/dist/node_modules/lodash/_getValue.js.map +1 -1
- package/dist/node_modules/lodash/_hasPath.js +8 -9
- package/dist/node_modules/lodash/_hasPath.js.map +1 -1
- package/dist/node_modules/lodash/_hasUnicode.js +1 -2
- package/dist/node_modules/lodash/_hasUnicode.js.map +1 -1
- package/dist/node_modules/lodash/_hashClear.js +1 -2
- package/dist/node_modules/lodash/_hashClear.js.map +1 -1
- package/dist/node_modules/lodash/_hashDelete.js +1 -2
- package/dist/node_modules/lodash/_hashDelete.js.map +1 -1
- package/dist/node_modules/lodash/_hashGet.js +1 -2
- package/dist/node_modules/lodash/_hashGet.js.map +1 -1
- package/dist/node_modules/lodash/_hashHas.js +1 -2
- package/dist/node_modules/lodash/_hashHas.js.map +1 -1
- package/dist/node_modules/lodash/_hashSet.js +1 -2
- package/dist/node_modules/lodash/_hashSet.js.map +1 -1
- package/dist/node_modules/lodash/_isFlattenable.js +5 -6
- package/dist/node_modules/lodash/_isFlattenable.js.map +1 -1
- package/dist/node_modules/lodash/_isIndex.js +6 -7
- package/dist/node_modules/lodash/_isIndex.js.map +1 -1
- package/dist/node_modules/lodash/_isIterateeCall.js +5 -6
- package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -1
- package/dist/node_modules/lodash/_isKey.js +1 -2
- package/dist/node_modules/lodash/_isKey.js.map +1 -1
- package/dist/node_modules/lodash/_isKeyable.js +1 -2
- package/dist/node_modules/lodash/_isKeyable.js.map +1 -1
- package/dist/node_modules/lodash/_isMasked.js +1 -2
- package/dist/node_modules/lodash/_isMasked.js.map +1 -1
- package/dist/node_modules/lodash/_isPrototype.js +1 -2
- package/dist/node_modules/lodash/_isPrototype.js.map +1 -1
- package/dist/node_modules/lodash/_isStrictComparable.js +1 -2
- package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -1
- package/dist/node_modules/lodash/_listCacheClear.js +1 -2
- package/dist/node_modules/lodash/_listCacheClear.js.map +1 -1
- package/dist/node_modules/lodash/_listCacheDelete.js +1 -2
- package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -1
- package/dist/node_modules/lodash/_listCacheGet.js +1 -2
- package/dist/node_modules/lodash/_listCacheGet.js.map +1 -1
- package/dist/node_modules/lodash/_listCacheHas.js +1 -2
- package/dist/node_modules/lodash/_listCacheHas.js.map +1 -1
- package/dist/node_modules/lodash/_listCacheSet.js +1 -2
- package/dist/node_modules/lodash/_listCacheSet.js.map +1 -1
- package/dist/node_modules/lodash/_mapCacheClear.js +1 -2
- package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -1
- package/dist/node_modules/lodash/_mapCacheDelete.js +1 -2
- package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -1
- package/dist/node_modules/lodash/_mapCacheGet.js +1 -2
- package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -1
- package/dist/node_modules/lodash/_mapCacheHas.js +1 -2
- package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -1
- package/dist/node_modules/lodash/_mapCacheSet.js +1 -2
- package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -1
- package/dist/node_modules/lodash/_mapToArray.js +1 -2
- package/dist/node_modules/lodash/_mapToArray.js.map +1 -1
- package/dist/node_modules/lodash/_matchesStrictComparable.js +2 -3
- package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -1
- package/dist/node_modules/lodash/_memoizeCapped.js +1 -2
- package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -1
- package/dist/node_modules/lodash/_nativeCreate.js +1 -2
- package/dist/node_modules/lodash/_nativeCreate.js.map +1 -1
- package/dist/node_modules/lodash/_nativeKeys.js +1 -2
- package/dist/node_modules/lodash/_nativeKeys.js.map +1 -1
- package/dist/node_modules/lodash/_nodeUtil.js +1 -2
- package/dist/node_modules/lodash/_nodeUtil.js.map +1 -1
- package/dist/node_modules/lodash/_objectToString.js +1 -2
- package/dist/node_modules/lodash/_objectToString.js.map +1 -1
- package/dist/node_modules/lodash/_overArg.js +1 -2
- package/dist/node_modules/lodash/_overArg.js.map +1 -1
- package/dist/node_modules/lodash/_overRest.js +1 -2
- package/dist/node_modules/lodash/_overRest.js.map +1 -1
- package/dist/node_modules/lodash/_root.js +1 -2
- package/dist/node_modules/lodash/_root.js.map +1 -1
- package/dist/node_modules/lodash/_setCacheAdd.js +4 -6
- package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -1
- package/dist/node_modules/lodash/_setCacheHas.js +1 -2
- package/dist/node_modules/lodash/_setCacheHas.js.map +1 -1
- package/dist/node_modules/lodash/_setToArray.js +1 -2
- package/dist/node_modules/lodash/_setToArray.js.map +1 -1
- package/dist/node_modules/lodash/_setToString.js +1 -2
- package/dist/node_modules/lodash/_setToString.js.map +1 -1
- package/dist/node_modules/lodash/_shortOut.js +8 -9
- package/dist/node_modules/lodash/_shortOut.js.map +1 -1
- package/dist/node_modules/lodash/_stackClear.js +1 -2
- package/dist/node_modules/lodash/_stackClear.js.map +1 -1
- package/dist/node_modules/lodash/_stackDelete.js +1 -2
- package/dist/node_modules/lodash/_stackDelete.js.map +1 -1
- package/dist/node_modules/lodash/_stackGet.js +1 -2
- package/dist/node_modules/lodash/_stackGet.js.map +1 -1
- package/dist/node_modules/lodash/_stackHas.js +1 -2
- package/dist/node_modules/lodash/_stackHas.js.map +1 -1
- package/dist/node_modules/lodash/_stackSet.js +1 -2
- package/dist/node_modules/lodash/_stackSet.js.map +1 -1
- package/dist/node_modules/lodash/_strictIndexOf.js +1 -2
- package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -1
- package/dist/node_modules/lodash/_stringToArray.js +4 -5
- package/dist/node_modules/lodash/_stringToArray.js.map +1 -1
- package/dist/node_modules/lodash/_stringToPath.js +1 -2
- package/dist/node_modules/lodash/_stringToPath.js.map +1 -1
- package/dist/node_modules/lodash/_toKey.js +2 -3
- package/dist/node_modules/lodash/_toKey.js.map +1 -1
- package/dist/node_modules/lodash/_toSource.js +1 -2
- package/dist/node_modules/lodash/_toSource.js.map +1 -1
- package/dist/node_modules/lodash/_trimmedEndIndex.js +1 -2
- package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -1
- package/dist/node_modules/lodash/_unicodeToArray.js +1 -2
- package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -1
- package/dist/node_modules/lodash/constant.js +1 -2
- package/dist/node_modules/lodash/constant.js.map +1 -1
- package/dist/node_modules/lodash/debounce.js +1 -2
- package/dist/node_modules/lodash/debounce.js.map +1 -1
- package/dist/node_modules/lodash/eq.js +1 -2
- package/dist/node_modules/lodash/eq.js.map +1 -1
- package/dist/node_modules/lodash/every.js +7 -8
- package/dist/node_modules/lodash/every.js.map +1 -1
- package/dist/node_modules/lodash/find.js +1 -2
- package/dist/node_modules/lodash/find.js.map +1 -1
- package/dist/node_modules/lodash/findIndex.js +4 -5
- package/dist/node_modules/lodash/findIndex.js.map +1 -1
- package/dist/node_modules/lodash/flatMap.js +1 -2
- package/dist/node_modules/lodash/flatMap.js.map +1 -1
- package/dist/node_modules/lodash/get.js +1 -2
- package/dist/node_modules/lodash/get.js.map +1 -1
- package/dist/node_modules/lodash/hasIn.js +1 -2
- package/dist/node_modules/lodash/hasIn.js.map +1 -1
- package/dist/node_modules/lodash/identity.js +1 -2
- package/dist/node_modules/lodash/identity.js.map +1 -1
- package/dist/node_modules/lodash/isArguments.js +4 -5
- package/dist/node_modules/lodash/isArguments.js.map +1 -1
- package/dist/node_modules/lodash/isArray.js +1 -2
- package/dist/node_modules/lodash/isArray.js.map +1 -1
- package/dist/node_modules/lodash/isArrayLike.js +1 -2
- package/dist/node_modules/lodash/isArrayLike.js.map +1 -1
- package/dist/node_modules/lodash/isBoolean.js +1 -2
- package/dist/node_modules/lodash/isBoolean.js.map +1 -1
- package/dist/node_modules/lodash/isBuffer.js +1 -2
- package/dist/node_modules/lodash/isBuffer.js.map +1 -1
- package/dist/node_modules/lodash/isEqual.js +1 -2
- package/dist/node_modules/lodash/isEqual.js.map +1 -1
- package/dist/node_modules/lodash/isFunction.js +1 -2
- package/dist/node_modules/lodash/isFunction.js.map +1 -1
- package/dist/node_modules/lodash/isLength.js +4 -6
- package/dist/node_modules/lodash/isLength.js.map +1 -1
- package/dist/node_modules/lodash/isNaN.js +1 -2
- package/dist/node_modules/lodash/isNaN.js.map +1 -1
- package/dist/node_modules/lodash/isNil.js +1 -2
- package/dist/node_modules/lodash/isNil.js.map +1 -1
- package/dist/node_modules/lodash/isNumber.js +1 -2
- package/dist/node_modules/lodash/isNumber.js.map +1 -1
- package/dist/node_modules/lodash/isObject.js +1 -2
- package/dist/node_modules/lodash/isObject.js.map +1 -1
- package/dist/node_modules/lodash/isObjectLike.js +1 -2
- package/dist/node_modules/lodash/isObjectLike.js.map +1 -1
- package/dist/node_modules/lodash/isPlainObject.js +4 -5
- package/dist/node_modules/lodash/isPlainObject.js.map +1 -1
- package/dist/node_modules/lodash/isString.js +4 -5
- package/dist/node_modules/lodash/isString.js.map +1 -1
- package/dist/node_modules/lodash/isSymbol.js +1 -2
- package/dist/node_modules/lodash/isSymbol.js.map +1 -1
- package/dist/node_modules/lodash/isTypedArray.js +1 -2
- package/dist/node_modules/lodash/isTypedArray.js.map +1 -1
- package/dist/node_modules/lodash/keys.js +1 -2
- package/dist/node_modules/lodash/keys.js.map +1 -1
- package/dist/node_modules/lodash/last.js +1 -2
- package/dist/node_modules/lodash/last.js.map +1 -1
- package/dist/node_modules/lodash/map.js +6 -7
- package/dist/node_modules/lodash/map.js.map +1 -1
- package/dist/node_modules/lodash/mapValues.js +4 -5
- package/dist/node_modules/lodash/mapValues.js.map +1 -1
- package/dist/node_modules/lodash/max.js +5 -6
- package/dist/node_modules/lodash/max.js.map +1 -1
- package/dist/node_modules/lodash/memoize.js +1 -2
- package/dist/node_modules/lodash/memoize.js.map +1 -1
- package/dist/node_modules/lodash/min.js +5 -6
- package/dist/node_modules/lodash/min.js.map +1 -1
- package/dist/node_modules/lodash/noop.js +1 -2
- package/dist/node_modules/lodash/noop.js.map +1 -1
- package/dist/node_modules/lodash/now.js +1 -2
- package/dist/node_modules/lodash/now.js.map +1 -1
- package/dist/node_modules/lodash/property.js +6 -7
- package/dist/node_modules/lodash/property.js.map +1 -1
- package/dist/node_modules/lodash/range.js +1 -2
- package/dist/node_modules/lodash/range.js.map +1 -1
- package/dist/node_modules/lodash/some.js +7 -8
- package/dist/node_modules/lodash/some.js.map +1 -1
- package/dist/node_modules/lodash/sortBy.js +1 -2
- package/dist/node_modules/lodash/sortBy.js.map +1 -1
- package/dist/node_modules/lodash/stubArray.js +1 -2
- package/dist/node_modules/lodash/stubArray.js.map +1 -1
- package/dist/node_modules/lodash/stubFalse.js +1 -2
- package/dist/node_modules/lodash/stubFalse.js.map +1 -1
- package/dist/node_modules/lodash/throttle.js +4 -5
- package/dist/node_modules/lodash/throttle.js.map +1 -1
- package/dist/node_modules/lodash/toFinite.js +2 -3
- package/dist/node_modules/lodash/toFinite.js.map +1 -1
- package/dist/node_modules/lodash/toInteger.js +1 -2
- package/dist/node_modules/lodash/toInteger.js.map +1 -1
- package/dist/node_modules/lodash/toNumber.js +4 -5
- package/dist/node_modules/lodash/toNumber.js.map +1 -1
- package/dist/node_modules/lodash/toString.js +1 -2
- package/dist/node_modules/lodash/toString.js.map +1 -1
- package/dist/node_modules/lodash/uniqBy.js +1 -2
- package/dist/node_modules/lodash/uniqBy.js.map +1 -1
- package/dist/node_modules/lodash/upperFirst.js +1 -2
- package/dist/node_modules/lodash/upperFirst.js.map +1 -1
- package/dist/node_modules/object-assign/index.js +1 -2
- package/dist/node_modules/object-assign/index.js.map +1 -1
- package/dist/node_modules/prop-types/checkPropTypes.js +1 -2
- package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -1
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js +1 -2
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -1
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +3 -3
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -1
- package/dist/node_modules/prop-types/index.js +1 -2
- package/dist/node_modules/prop-types/index.js.map +1 -1
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -2
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -1
- package/dist/node_modules/prop-types/lib/has.js +1 -2
- package/dist/node_modules/prop-types/lib/has.js.map +1 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -2
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -2
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
- package/dist/node_modules/prop-types/node_modules/react-is/index.js +2 -3
- package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -1
- package/dist/node_modules/react-is/cjs/react-is.development.js +31 -32
- package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -1
- package/dist/node_modules/react-is/cjs/react-is.production.min.js +1 -2
- package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
- package/dist/node_modules/react-is/index.js +2 -3
- package/dist/node_modules/react-is/index.js.map +1 -1
- package/dist/node_modules/react-smooth/es6/Animate.js +33 -41
- package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -1
- package/dist/node_modules/react-smooth/es6/AnimateManager.js +2 -5
- package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -1
- package/dist/node_modules/react-smooth/es6/configUpdate.js +1 -2
- package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -1
- package/dist/node_modules/react-smooth/es6/easing.js +1 -2
- package/dist/node_modules/react-smooth/es6/easing.js.map +1 -1
- package/dist/node_modules/react-smooth/es6/index.js +1 -2
- package/dist/node_modules/react-smooth/es6/index.js.map +1 -1
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js +1 -2
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -1
- package/dist/node_modules/react-smooth/es6/util.js +17 -16
- package/dist/node_modules/react-smooth/es6/util.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/Bar.js +103 -104
- package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/Brush.js +35 -36
- package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +60 -67
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +45 -46
- package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +20 -21
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/Line.js +79 -80
- package/dist/node_modules/recharts/es6/cartesian/Line.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +29 -30
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +23 -24
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +31 -32
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js +10 -11
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js +10 -11
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +5 -6
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -1
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js +7 -8
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -1
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +2 -5
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -1
- package/dist/node_modules/recharts/es6/chart/BarChart.js +7 -8
- package/dist/node_modules/recharts/es6/chart/BarChart.js.map +1 -1
- package/dist/node_modules/recharts/es6/chart/LineChart.js +5 -6
- package/dist/node_modules/recharts/es6/chart/LineChart.js.map +1 -1
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +534 -533
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/Cell.js +1 -2
- package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/Cursor.js +17 -18
- package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +35 -36
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +16 -17
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/Label.js +85 -86
- package/dist/node_modules/recharts/es6/component/Label.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/LabelList.js +20 -21
- package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/Legend.js +26 -23
- package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +16 -17
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/Text.js +18 -21
- package/dist/node_modules/recharts/es6/component/Text.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/Tooltip.js +16 -17
- package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -1
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +3 -4
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -1
- package/dist/node_modules/recharts/es6/container/Layer.js +5 -6
- package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -1
- package/dist/node_modules/recharts/es6/container/Surface.js +5 -6
- package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -1
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +21 -21
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -1
- package/dist/node_modules/recharts/es6/shape/Cross.js +4 -5
- package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -1
- package/dist/node_modules/recharts/es6/shape/Curve.js +38 -49
- package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -1
- package/dist/node_modules/recharts/es6/shape/Dot.js +3 -4
- package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -1
- package/dist/node_modules/recharts/es6/shape/Rectangle.js +8 -9
- package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -1
- package/dist/node_modules/recharts/es6/shape/Sector.js +33 -34
- package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -1
- package/dist/node_modules/recharts/es6/shape/Symbols.js +26 -34
- package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -1
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js +8 -9
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +24 -25
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/BarUtils.js +10 -11
- package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js +33 -34
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/ChartUtils.js +231 -236
- package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +1 -2
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/DOMUtils.js +1 -2
- package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/DataUtils.js +7 -8
- package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +20 -21
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/Events.js +0 -1
- package/dist/node_modules/recharts/es6/util/Events.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/Global.js +0 -1
- package/dist/node_modules/recharts/es6/util/Global.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +1 -2
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/LogUtils.js +9 -8
- package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/PolarUtils.js +4 -5
- package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/ReactUtils.js +11 -12
- package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +5 -6
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js +1 -2
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/TickUtils.js +4 -4
- package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js +0 -1
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +7 -6
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +1 -2
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +1 -2
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +1 -2
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/getLegendProps.js +9 -10
- package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +1 -2
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +4 -5
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js +3 -4
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -1
- package/dist/node_modules/recharts/es6/util/types.js +2 -3
- package/dist/node_modules/recharts/es6/util/types.js.map +1 -1
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +2 -3
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -1
- package/dist/node_modules/recharts-scale/es6/index.js +1 -1
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +1 -2
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -1
- package/dist/node_modules/recharts-scale/es6/util/utils.js +3 -4
- package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js +2 -3
- package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js +41 -42
- package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js +14 -15
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js +21 -18
- package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +2 -3
- package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -1
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +1 -2
- package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -1
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +229 -167
- package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +2 -3
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -1
- package/dist/node_modules/{rxjs/node_modules/tslib → tslib}/tslib.es6.js +1 -2
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js +28 -45
- package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -1
- package/dist/test/happydom.d.ts +1 -0
- package/dist/translations/en.d.ts +91 -1
- package/dist/translations/en.js +92 -2
- package/dist/translations/en.js.map +1 -1
- package/dist/utils/nativeBridge.d.ts +0 -1
- package/dist/utils/nativeBridge.js +1 -2
- package/package.json +76 -60
- package/dist/__tests__/setup.d.ts +0 -2
- package/dist/__tests__/setup.d.ts.map +0 -1
- package/dist/__tests__/utils/renderWithProviders.d.ts.map +0 -1
- package/dist/dev/main.d.ts.map +0 -1
- package/dist/devportal/AdminDevportalRoot.d.ts.map +0 -1
- package/dist/devportal/AdminDevportalRoutes.d.ts.map +0 -1
- package/dist/devportal/DevportalRoot.d.ts.map +0 -1
- package/dist/devportal/DevportalRoutes.d.ts.map +0 -1
- package/dist/devportal/components/AppCard.d.ts.map +0 -1
- package/dist/devportal/components/ConfirmDialog.d.ts.map +0 -1
- package/dist/devportal/components/DataTable.d.ts.map +0 -1
- package/dist/devportal/components/EmptyState.d.ts.map +0 -1
- package/dist/devportal/components/FeatureFlaggedRoute.d.ts.map +0 -1
- package/dist/devportal/components/FormField.d.ts.map +0 -1
- package/dist/devportal/components/GrantDelegationModal.d.ts.map +0 -1
- package/dist/devportal/components/ImageUploadField.d.ts.map +0 -1
- package/dist/devportal/components/LoadingState.d.ts.map +0 -1
- package/dist/devportal/components/ManifestViewer.d.ts.map +0 -1
- package/dist/devportal/components/MarkdownEditor.d.ts.map +0 -1
- package/dist/devportal/components/MultiSelectCombobox.d.ts.map +0 -1
- package/dist/devportal/components/NodeSmokePanel.d.ts.map +0 -1
- package/dist/devportal/components/OnboardingChecklist.d.ts.map +0 -1
- package/dist/devportal/components/PackageValidationPanel.d.ts.map +0 -1
- package/dist/devportal/components/PageLayout.d.ts.map +0 -1
- package/dist/devportal/components/PermissionGuard.d.ts.map +0 -1
- package/dist/devportal/components/RegisterPickupLocationModal.d.ts.map +0 -1
- package/dist/devportal/components/ReportOrderIssueModal.d.ts.map +0 -1
- package/dist/devportal/components/SecretDisplay.d.ts.map +0 -1
- package/dist/devportal/components/SectionNav.d.ts.map +0 -1
- package/dist/devportal/components/SelectionCheckbox.d.ts.map +0 -1
- package/dist/devportal/components/StatCard.d.ts.map +0 -1
- package/dist/devportal/components/StatusBadge.d.ts.map +0 -1
- package/dist/devportal/components/TelemetryErrorBoundary.d.ts.map +0 -1
- package/dist/devportal/components/index.d.ts.map +0 -1
- package/dist/devportal/constants/appCategories.d.ts.map +0 -1
- package/dist/devportal/constants/developerLinks.d.ts.map +0 -1
- package/dist/devportal/constants/permissions.d.ts.map +0 -1
- package/dist/devportal/events/index.d.ts.map +0 -1
- package/dist/devportal/hooks/DevPortalProvider.d.ts.map +0 -1
- package/dist/devportal/hooks/index.d.ts.map +0 -1
- package/dist/devportal/hooks/useCarrierPickupLocations.d.ts.map +0 -1
- package/dist/devportal/hooks/useGraphQL.d.ts.map +0 -1
- package/dist/devportal/hooks/useIsSellerSection.d.ts.map +0 -1
- package/dist/devportal/hooks/useOrganizationPickupAddresses.d.ts.map +0 -1
- package/dist/devportal/hooks/usePackageUpload.d.ts.map +0 -1
- package/dist/devportal/hooks/usePermission.d.ts.map +0 -1
- package/dist/devportal/hooks/useProducts.d.ts.map +0 -1
- package/dist/devportal/hooks/useSellerOrganization.d.ts.map +0 -1
- package/dist/devportal/index.d.ts.map +0 -1
- package/dist/devportal/pages/AdminOrganizationVerificationPage.d.ts.map +0 -1
- package/dist/devportal/pages/AdminReviewPage.d.ts.map +0 -1
- package/dist/devportal/pages/AnalyticsDashboardPage.d.ts.map +0 -1
- package/dist/devportal/pages/ApiKeysPage.d.ts.map +0 -1
- package/dist/devportal/pages/AppLogsPage.d.ts.map +0 -1
- package/dist/devportal/pages/ApplicationDetailPage.d.ts.map +0 -1
- package/dist/devportal/pages/ApplicationVersionsPage.d.ts.map +0 -1
- package/dist/devportal/pages/ApplicationsPage.d.ts.map +0 -1
- package/dist/devportal/pages/CreateApiKeyPage.d.ts.map +0 -1
- package/dist/devportal/pages/CreateApplicationPage.d.ts.map +0 -1
- package/dist/devportal/pages/CreateOAuthClientPage.d.ts.map +0 -1
- package/dist/devportal/pages/CreateOrganizationPage.d.ts.map +0 -1
- package/dist/devportal/pages/CreatePhysicalItemPage.d.ts.map +0 -1
- package/dist/devportal/pages/CreateWebhookPage.d.ts.map +0 -1
- package/dist/devportal/pages/DashboardPage.d.ts.map +0 -1
- package/dist/devportal/pages/DelegationsPage.d.ts.map +0 -1
- package/dist/devportal/pages/DocumentationPage.d.ts.map +0 -1
- package/dist/devportal/pages/EditApplicationPage.d.ts.map +0 -1
- package/dist/devportal/pages/EditPhysicalItemPage.d.ts.map +0 -1
- package/dist/devportal/pages/InvitationDecisionPage.d.ts.map +0 -1
- package/dist/devportal/pages/ListingPreviewPage.d.ts.map +0 -1
- package/dist/devportal/pages/NodeLifecyclePage.d.ts.map +0 -1
- package/dist/devportal/pages/OAuthCallbackPage.d.ts.map +0 -1
- package/dist/devportal/pages/OAuthClientDetailPage.d.ts.map +0 -1
- package/dist/devportal/pages/OAuthClientsPage.d.ts.map +0 -1
- package/dist/devportal/pages/OrganizationDetailPage.d.ts.map +0 -1
- package/dist/devportal/pages/OrganizationMembersPage.d.ts.map +0 -1
- package/dist/devportal/pages/OrganizationsPage.d.ts.map +0 -1
- package/dist/devportal/pages/PublishPage.d.ts.map +0 -1
- package/dist/devportal/pages/PublisherProfilePage.d.ts.map +0 -1
- package/dist/devportal/pages/ResourcesPage.d.ts.map +0 -1
- package/dist/devportal/pages/RevenueDashboardPage.d.ts.map +0 -1
- package/dist/devportal/pages/RevenueRedirectPage.d.ts.map +0 -1
- package/dist/devportal/pages/SellerDashboardPage.d.ts.map +0 -1
- package/dist/devportal/pages/SellerItemsPage.d.ts.map +0 -1
- package/dist/devportal/pages/SellerOrdersPage.d.ts.map +0 -1
- package/dist/devportal/pages/SettingsPage.d.ts.map +0 -1
- package/dist/devportal/pages/SetupPage.d.ts.map +0 -1
- package/dist/devportal/pages/StoreSubmissionPage.d.ts.map +0 -1
- package/dist/devportal/pages/WebhookDetailPage.d.ts.map +0 -1
- package/dist/devportal/pages/WebhooksPage.d.ts.map +0 -1
- package/dist/devportal/providers/DevportalProvider.d.ts.map +0 -1
- package/dist/devportal/store/devportalStore.d.ts.map +0 -1
- package/dist/devportal/types/index.d.ts.map +0 -1
- package/dist/devportal/utils/cn.d.ts.map +0 -1
- package/dist/devportal/utils/constants.d.ts.map +0 -1
- package/dist/devportal/utils/currency.d.ts.map +0 -1
- package/dist/devportal/utils/developerOnboarding.d.ts.map +0 -1
- package/dist/devportal/utils/graphqlEndpoint.d.ts.map +0 -1
- package/dist/devportal/utils/i18n.d.ts.map +0 -1
- package/dist/devportal/utils/nodeLifecycle.d.ts.map +0 -1
- package/dist/devportal/utils/recaptcha.d.ts.map +0 -1
- package/dist/devportal/utils/submitForReview.d.ts.map +0 -1
- package/dist/devportal/utils/uploadErrors.d.ts.map +0 -1
- package/dist/generated/global-operations.d.ts.map +0 -1
- package/dist/generated/global-types.d.ts.map +0 -1
- package/dist/generated/wspace-operations.d.ts.map +0 -1
- package/dist/generated/wspace-types.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/node_modules/d3-array/src/ascending.js +0 -8
- package/dist/node_modules/d3-array/src/ascending.js.map +0 -1
- package/dist/node_modules/d3-array/src/bisect.js +0 -10
- package/dist/node_modules/d3-array/src/bisect.js.map +0 -1
- package/dist/node_modules/d3-array/src/bisector.js +0 -43
- package/dist/node_modules/d3-array/src/bisector.js.map +0 -1
- package/dist/node_modules/d3-array/src/descending.js +0 -8
- package/dist/node_modules/d3-array/src/descending.js.map +0 -1
- package/dist/node_modules/d3-array/src/max.js +0 -14
- package/dist/node_modules/d3-array/src/max.js.map +0 -1
- package/dist/node_modules/d3-array/src/min.js +0 -14
- package/dist/node_modules/d3-array/src/min.js.map +0 -1
- package/dist/node_modules/d3-array/src/number.js +0 -15
- package/dist/node_modules/d3-array/src/number.js.map +0 -1
- package/dist/node_modules/d3-array/src/quantile.js +0 -25
- package/dist/node_modules/d3-array/src/quantile.js.map +0 -1
- package/dist/node_modules/d3-array/src/quickselect.js +0 -26
- package/dist/node_modules/d3-array/src/quickselect.js.map +0 -1
- package/dist/node_modules/d3-array/src/range.js +0 -10
- package/dist/node_modules/d3-array/src/range.js.map +0 -1
- package/dist/node_modules/d3-array/src/sort.js +0 -17
- package/dist/node_modules/d3-array/src/sort.js.map +0 -1
- package/dist/node_modules/d3-array/src/ticks.js +0 -34
- package/dist/node_modules/d3-array/src/ticks.js.map +0 -1
- package/dist/node_modules/d3-color/src/color.js +0 -291
- package/dist/node_modules/d3-color/src/color.js.map +0 -1
- package/dist/node_modules/d3-color/src/define.js +0 -13
- package/dist/node_modules/d3-color/src/define.js.map +0 -1
- package/dist/node_modules/d3-format/src/defaultLocale.js +0 -15
- package/dist/node_modules/d3-format/src/defaultLocale.js.map +0 -1
- package/dist/node_modules/d3-format/src/exponent.js +0 -9
- package/dist/node_modules/d3-format/src/exponent.js.map +0 -1
- package/dist/node_modules/d3-format/src/formatDecimal.js +0 -13
- package/dist/node_modules/d3-format/src/formatDecimal.js.map +0 -1
- package/dist/node_modules/d3-format/src/formatGroup.js +0 -11
- package/dist/node_modules/d3-format/src/formatGroup.js.map +0 -1
- package/dist/node_modules/d3-format/src/formatNumerals.js +0 -12
- package/dist/node_modules/d3-format/src/formatNumerals.js.map +0 -1
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js +0 -13
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +0 -1
- package/dist/node_modules/d3-format/src/formatRounded.js +0 -12
- package/dist/node_modules/d3-format/src/formatRounded.js.map +0 -1
- package/dist/node_modules/d3-format/src/formatSpecifier.js +0 -29
- package/dist/node_modules/d3-format/src/formatSpecifier.js.map +0 -1
- package/dist/node_modules/d3-format/src/formatTrim.js +0 -20
- package/dist/node_modules/d3-format/src/formatTrim.js.map +0 -1
- package/dist/node_modules/d3-format/src/formatTypes.js +0 -23
- package/dist/node_modules/d3-format/src/formatTypes.js.map +0 -1
- package/dist/node_modules/d3-format/src/identity.js +0 -8
- package/dist/node_modules/d3-format/src/identity.js.map +0 -1
- package/dist/node_modules/d3-format/src/locale.js +0 -86
- package/dist/node_modules/d3-format/src/locale.js.map +0 -1
- package/dist/node_modules/d3-format/src/precisionFixed.js +0 -9
- package/dist/node_modules/d3-format/src/precisionFixed.js.map +0 -1
- package/dist/node_modules/d3-format/src/precisionPrefix.js +0 -9
- package/dist/node_modules/d3-format/src/precisionPrefix.js.map +0 -1
- package/dist/node_modules/d3-format/src/precisionRound.js +0 -9
- package/dist/node_modules/d3-format/src/precisionRound.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/array.js +0 -15
- package/dist/node_modules/d3-interpolate/src/array.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/basis.js +0 -16
- package/dist/node_modules/d3-interpolate/src/basis.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/basisClosed.js +0 -13
- package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/color.js +0 -25
- package/dist/node_modules/d3-interpolate/src/color.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/constant.js +0 -6
- package/dist/node_modules/d3-interpolate/src/constant.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/date.js +0 -11
- package/dist/node_modules/d3-interpolate/src/date.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/number.js +0 -10
- package/dist/node_modules/d3-interpolate/src/number.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/numberArray.js +0 -16
- package/dist/node_modules/d3-interpolate/src/numberArray.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/object.js +0 -14
- package/dist/node_modules/d3-interpolate/src/object.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/piecewise.js +0 -14
- package/dist/node_modules/d3-interpolate/src/piecewise.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/rgb.js +0 -19
- package/dist/node_modules/d3-interpolate/src/rgb.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/round.js +0 -10
- package/dist/node_modules/d3-interpolate/src/round.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/string.js +0 -28
- package/dist/node_modules/d3-interpolate/src/string.js.map +0 -1
- package/dist/node_modules/d3-interpolate/src/value.js +0 -18
- package/dist/node_modules/d3-interpolate/src/value.js.map +0 -1
- package/dist/node_modules/d3-path/src/path.js.map +0 -1
- package/dist/node_modules/d3-scale/src/band.js +0 -52
- package/dist/node_modules/d3-scale/src/band.js.map +0 -1
- package/dist/node_modules/d3-scale/src/constant.js +0 -10
- package/dist/node_modules/d3-scale/src/constant.js.map +0 -1
- package/dist/node_modules/d3-scale/src/continuous.js +0 -73
- package/dist/node_modules/d3-scale/src/continuous.js.map +0 -1
- package/dist/node_modules/d3-scale/src/diverging.js +0 -82
- package/dist/node_modules/d3-scale/src/diverging.js.map +0 -1
- package/dist/node_modules/d3-scale/src/identity.js +0 -20
- package/dist/node_modules/d3-scale/src/identity.js.map +0 -1
- package/dist/node_modules/d3-scale/src/init.js +0 -29
- package/dist/node_modules/d3-scale/src/init.js.map +0 -1
- package/dist/node_modules/d3-scale/src/linear.js +0 -36
- package/dist/node_modules/d3-scale/src/linear.js.map +0 -1
- package/dist/node_modules/d3-scale/src/log.js +0 -77
- package/dist/node_modules/d3-scale/src/log.js.map +0 -1
- package/dist/node_modules/d3-scale/src/nice.js +0 -10
- package/dist/node_modules/d3-scale/src/nice.js.map +0 -1
- package/dist/node_modules/d3-scale/src/number.js +0 -8
- package/dist/node_modules/d3-scale/src/number.js.map +0 -1
- package/dist/node_modules/d3-scale/src/ordinal.js +0 -31
- package/dist/node_modules/d3-scale/src/ordinal.js.map +0 -1
- package/dist/node_modules/d3-scale/src/pow.js +0 -37
- package/dist/node_modules/d3-scale/src/pow.js.map +0 -1
- package/dist/node_modules/d3-scale/src/quantile.js +0 -37
- package/dist/node_modules/d3-scale/src/quantile.js.map +0 -1
- package/dist/node_modules/d3-scale/src/quantize.js +0 -33
- package/dist/node_modules/d3-scale/src/quantize.js.map +0 -1
- package/dist/node_modules/d3-scale/src/radial.js +0 -39
- package/dist/node_modules/d3-scale/src/radial.js.map +0 -1
- package/dist/node_modules/d3-scale/src/sequential.js +0 -67
- package/dist/node_modules/d3-scale/src/sequential.js.map +0 -1
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js +0 -30
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +0 -1
- package/dist/node_modules/d3-scale/src/symlog.js +0 -30
- package/dist/node_modules/d3-scale/src/symlog.js.map +0 -1
- package/dist/node_modules/d3-scale/src/threshold.js +0 -25
- package/dist/node_modules/d3-scale/src/threshold.js.map +0 -1
- package/dist/node_modules/d3-scale/src/tickFormat.js +0 -31
- package/dist/node_modules/d3-scale/src/tickFormat.js.map +0 -1
- package/dist/node_modules/d3-scale/src/time.js +0 -47
- package/dist/node_modules/d3-scale/src/time.js.map +0 -1
- package/dist/node_modules/d3-scale/src/utcTime.js +0 -19
- package/dist/node_modules/d3-scale/src/utcTime.js.map +0 -1
- package/dist/node_modules/d3-shape/src/area.js +0 -55
- package/dist/node_modules/d3-shape/src/area.js.map +0 -1
- package/dist/node_modules/d3-shape/src/array.js +0 -8
- package/dist/node_modules/d3-shape/src/array.js.map +0 -1
- package/dist/node_modules/d3-shape/src/constant.js +0 -10
- package/dist/node_modules/d3-shape/src/constant.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/basis.js +0 -49
- package/dist/node_modules/d3-shape/src/curve/basis.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js +0 -50
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js +0 -46
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/bump.js +0 -40
- package/dist/node_modules/d3-shape/src/curve/bump.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/linear.js +0 -36
- package/dist/node_modules/d3-shape/src/curve/linear.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js +0 -25
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/monotone.js +0 -94
- package/dist/node_modules/d3-shape/src/curve/monotone.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/natural.js +0 -39
- package/dist/node_modules/d3-shape/src/curve/natural.js.map +0 -1
- package/dist/node_modules/d3-shape/src/curve/step.js +0 -47
- package/dist/node_modules/d3-shape/src/curve/step.js.map +0 -1
- package/dist/node_modules/d3-shape/src/line.js +0 -30
- package/dist/node_modules/d3-shape/src/line.js.map +0 -1
- package/dist/node_modules/d3-shape/src/math.js +0 -8
- package/dist/node_modules/d3-shape/src/math.js.map +0 -1
- package/dist/node_modules/d3-shape/src/noop.js +0 -6
- package/dist/node_modules/d3-shape/src/noop.js.map +0 -1
- package/dist/node_modules/d3-shape/src/offset/expand.js +0 -15
- package/dist/node_modules/d3-shape/src/offset/expand.js.map +0 -1
- package/dist/node_modules/d3-shape/src/offset/none.js +0 -8
- package/dist/node_modules/d3-shape/src/offset/none.js.map +0 -1
- package/dist/node_modules/d3-shape/src/offset/silhouette.js +0 -15
- package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +0 -1
- package/dist/node_modules/d3-shape/src/offset/wiggle.js +0 -21
- package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +0 -1
- package/dist/node_modules/d3-shape/src/order/none.js +0 -9
- package/dist/node_modules/d3-shape/src/order/none.js.map +0 -1
- package/dist/node_modules/d3-shape/src/path.js +0 -19
- package/dist/node_modules/d3-shape/src/path.js.map +0 -1
- package/dist/node_modules/d3-shape/src/point.js +0 -11
- package/dist/node_modules/d3-shape/src/point.js.map +0 -1
- package/dist/node_modules/d3-shape/src/stack.js +0 -34
- package/dist/node_modules/d3-shape/src/stack.js.map +0 -1
- package/dist/node_modules/d3-shape/src/symbol/circle.js +0 -10
- package/dist/node_modules/d3-shape/src/symbol/circle.js.map +0 -1
- package/dist/node_modules/d3-shape/src/symbol/cross.js +0 -10
- package/dist/node_modules/d3-shape/src/symbol/cross.js.map +0 -1
- package/dist/node_modules/d3-shape/src/symbol/diamond.js +0 -10
- package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +0 -1
- package/dist/node_modules/d3-shape/src/symbol/square.js +0 -10
- package/dist/node_modules/d3-shape/src/symbol/square.js.map +0 -1
- package/dist/node_modules/d3-shape/src/symbol/star.js +0 -15
- package/dist/node_modules/d3-shape/src/symbol/star.js.map +0 -1
- package/dist/node_modules/d3-shape/src/symbol/triangle.js +0 -10
- package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +0 -1
- package/dist/node_modules/d3-shape/src/symbol/wye.js +0 -10
- package/dist/node_modules/d3-shape/src/symbol/wye.js.map +0 -1
- package/dist/node_modules/d3-shape/src/symbol.js +0 -23
- package/dist/node_modules/d3-shape/src/symbol.js.map +0 -1
- package/dist/node_modules/d3-time/src/day.js +0 -21
- package/dist/node_modules/d3-time/src/day.js.map +0 -1
- package/dist/node_modules/d3-time/src/duration.js +0 -6
- package/dist/node_modules/d3-time/src/duration.js.map +0 -1
- package/dist/node_modules/d3-time/src/hour.js +0 -19
- package/dist/node_modules/d3-time/src/hour.js.map +0 -1
- package/dist/node_modules/d3-time/src/interval.js +0 -28
- package/dist/node_modules/d3-time/src/interval.js.map +0 -1
- package/dist/node_modules/d3-time/src/millisecond.js +0 -14
- package/dist/node_modules/d3-time/src/millisecond.js.map +0 -1
- package/dist/node_modules/d3-time/src/minute.js +0 -19
- package/dist/node_modules/d3-time/src/minute.js.map +0 -1
- package/dist/node_modules/d3-time/src/month.js +0 -18
- package/dist/node_modules/d3-time/src/month.js.map +0 -1
- package/dist/node_modules/d3-time/src/second.js +0 -13
- package/dist/node_modules/d3-time/src/second.js.map +0 -1
- package/dist/node_modules/d3-time/src/ticks.js +0 -125
- package/dist/node_modules/d3-time/src/ticks.js.map +0 -1
- package/dist/node_modules/d3-time/src/week.js +0 -25
- package/dist/node_modules/d3-time/src/week.js.map +0 -1
- package/dist/node_modules/d3-time/src/year.js +0 -26
- package/dist/node_modules/d3-time/src/year.js.map +0 -1
- package/dist/node_modules/d3-time-format/src/defaultLocale.js +0 -62
- package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +0 -1
- package/dist/node_modules/d3-time-format/src/locale.js.map +0 -1
- package/dist/node_modules/internmap/src/index.js +0 -40
- package/dist/node_modules/internmap/src/index.js.map +0 -1
- package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js.map +0 -1
- package/dist/translations/en.d.ts.map +0 -1
- package/dist/utils/nativeBridge.d.ts.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { InputField as e } from "./FormField.js";
|
|
2
|
+
import { useTr as t } from "../utils/i18n.js";
|
|
3
3
|
import { useEffect as n, useId as r, useRef as i, useState as a } from "react";
|
|
4
4
|
import { Loader2 as o, Truck as s, X as c } from "lucide-react";
|
|
5
5
|
import { jsx as l, jsxs as u } from "react/jsx-runtime";
|
|
6
6
|
import { clearGraphqlFetchResponseCache as d, graphqlFetch as f } from "@burdenoff/fe-libs/shared/graphql";
|
|
7
|
-
|
|
7
|
+
// src/devportal/components/RegisterPickupLocationModal.tsx
|
|
8
8
|
var p = "\n mutation RegisterCarrierPickupLocation($input: RegisterCarrierPickupLocationInput!) {\n registerCarrierPickupLocation(input: $input) {\n label\n postalCode\n carrier\n }\n }\n";
|
|
9
9
|
function m() {
|
|
10
10
|
return {
|
|
@@ -20,7 +20,7 @@ function m() {
|
|
|
20
20
|
};
|
|
21
21
|
}
|
|
22
22
|
var h = ({ open: h, onOpenChange: g, organizationId: _, carrier: v, onRegistered: y }) => {
|
|
23
|
-
let b =
|
|
23
|
+
let b = t(), x = r(), S = i(null), [C, w] = a(m), [T, E] = a(!1), [D, O] = a(null);
|
|
24
24
|
if (n(() => {
|
|
25
25
|
h && w(m());
|
|
26
26
|
}, [h]), !h) return null;
|
|
@@ -104,7 +104,7 @@ var h = ({ open: h, onOpenChange: g, organizationId: _, carrier: v, onRegistered
|
|
|
104
104
|
/* @__PURE__ */ u("div", {
|
|
105
105
|
className: "space-y-4 p-6",
|
|
106
106
|
children: [
|
|
107
|
-
/* @__PURE__ */ l(
|
|
107
|
+
/* @__PURE__ */ l(e, {
|
|
108
108
|
label: b("devportal.pickupContactName", "Contact name"),
|
|
109
109
|
value: C.name,
|
|
110
110
|
onChange: (e) => k("name", e.target.value),
|
|
@@ -113,14 +113,14 @@ var h = ({ open: h, onOpenChange: g, organizationId: _, carrier: v, onRegistered
|
|
|
113
113
|
}),
|
|
114
114
|
/* @__PURE__ */ u("div", {
|
|
115
115
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
116
|
-
children: [/* @__PURE__ */ l(
|
|
116
|
+
children: [/* @__PURE__ */ l(e, {
|
|
117
117
|
label: b("devportal.pickupContactEmail", "Contact email"),
|
|
118
118
|
type: "email",
|
|
119
119
|
value: C.email,
|
|
120
120
|
onChange: (e) => k("email", e.target.value),
|
|
121
121
|
required: !0,
|
|
122
122
|
disabled: T
|
|
123
|
-
}), /* @__PURE__ */ l(
|
|
123
|
+
}), /* @__PURE__ */ l(e, {
|
|
124
124
|
label: b("devportal.pickupContactPhone", "Contact phone"),
|
|
125
125
|
type: "tel",
|
|
126
126
|
value: C.phone,
|
|
@@ -129,7 +129,7 @@ var h = ({ open: h, onOpenChange: g, organizationId: _, carrier: v, onRegistered
|
|
|
129
129
|
disabled: T
|
|
130
130
|
})]
|
|
131
131
|
}),
|
|
132
|
-
/* @__PURE__ */ l(
|
|
132
|
+
/* @__PURE__ */ l(e, {
|
|
133
133
|
label: b("devportal.pickupAddressLine1", "Address"),
|
|
134
134
|
value: C.address,
|
|
135
135
|
onChange: (e) => k("address", e.target.value),
|
|
@@ -138,7 +138,7 @@ var h = ({ open: h, onOpenChange: g, organizationId: _, carrier: v, onRegistered
|
|
|
138
138
|
placeholder: "12 Farm Road",
|
|
139
139
|
hint: b("devportal.pickupAddressLine1Hint", "Must include a house/flat/building or road number — our carrier rejects area names alone (e.g. \"Pitampura\" on its own won't work, \"12 Pitampura Road\" will).")
|
|
140
140
|
}),
|
|
141
|
-
/* @__PURE__ */ l(
|
|
141
|
+
/* @__PURE__ */ l(e, {
|
|
142
142
|
label: b("devportal.pickupAddressLine2", "Apartment, suite, building number, etc. (optional)"),
|
|
143
143
|
value: C.addressLine2,
|
|
144
144
|
onChange: (e) => k("addressLine2", e.target.value),
|
|
@@ -146,13 +146,13 @@ var h = ({ open: h, onOpenChange: g, organizationId: _, carrier: v, onRegistered
|
|
|
146
146
|
}),
|
|
147
147
|
/* @__PURE__ */ u("div", {
|
|
148
148
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
149
|
-
children: [/* @__PURE__ */ l(
|
|
149
|
+
children: [/* @__PURE__ */ l(e, {
|
|
150
150
|
label: b("devportal.pickupCity", "City"),
|
|
151
151
|
value: C.city,
|
|
152
152
|
onChange: (e) => k("city", e.target.value),
|
|
153
153
|
required: !0,
|
|
154
154
|
disabled: T
|
|
155
|
-
}), /* @__PURE__ */ l(
|
|
155
|
+
}), /* @__PURE__ */ l(e, {
|
|
156
156
|
label: b("devportal.pickupState", "State"),
|
|
157
157
|
value: C.state,
|
|
158
158
|
onChange: (e) => k("state", e.target.value),
|
|
@@ -162,13 +162,13 @@ var h = ({ open: h, onOpenChange: g, organizationId: _, carrier: v, onRegistered
|
|
|
162
162
|
}),
|
|
163
163
|
/* @__PURE__ */ u("div", {
|
|
164
164
|
className: "grid grid-cols-1 gap-4 sm:grid-cols-2",
|
|
165
|
-
children: [/* @__PURE__ */ l(
|
|
165
|
+
children: [/* @__PURE__ */ l(e, {
|
|
166
166
|
label: b("devportal.pickupCountry", "Country"),
|
|
167
167
|
value: C.country,
|
|
168
168
|
onChange: (e) => k("country", e.target.value),
|
|
169
169
|
required: !0,
|
|
170
170
|
disabled: T
|
|
171
|
-
}), /* @__PURE__ */ l(
|
|
171
|
+
}), /* @__PURE__ */ l(e, {
|
|
172
172
|
label: b("devportal.pickupPincode", "Pincode"),
|
|
173
173
|
value: C.postalCode,
|
|
174
174
|
onChange: (e) => k("postalCode", e.target.value),
|
|
@@ -202,7 +202,6 @@ var h = ({ open: h, onOpenChange: g, organizationId: _, carrier: v, onRegistered
|
|
|
202
202
|
})]
|
|
203
203
|
});
|
|
204
204
|
};
|
|
205
|
-
//#endregion
|
|
206
205
|
export { h as RegisterPickupLocationModal };
|
|
207
206
|
|
|
208
207
|
//# sourceMappingURL=RegisterPickupLocationModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegisterPickupLocationModal.js","names":[],"sources":["../../../src/devportal/components/RegisterPickupLocationModal.tsx"],"sourcesContent":["import { useEffect, useId, useRef, useState, type FC } from \"react\";\nimport { Truck, X, Loader2 } from \"lucide-react\";\nimport {\n graphqlFetch,\n clearGraphqlFetchResponseCache,\n} from \"@burdenoff/fe-libs/shared/graphql\";\nimport { InputField } from \"./FormField\";\nimport { useTr } from \"../utils/i18n\";\n\nconst REGISTER_CARRIER_PICKUP_LOCATION_MUTATION = `\n mutation RegisterCarrierPickupLocation($input: RegisterCarrierPickupLocationInput!) {\n registerCarrierPickupLocation(input: $input) {\n label\n postalCode\n carrier\n }\n }\n`;\n\ninterface AddressForm {\n name: string;\n email: string;\n phone: string;\n address: string;\n addressLine2: string;\n city: string;\n state: string;\n country: string;\n postalCode: string;\n}\n\nfunction emptyForm(): AddressForm {\n return {\n name: \"\",\n email: \"\",\n phone: \"\",\n address: \"\",\n addressLine2: \"\",\n city: \"\",\n state: \"\",\n country: \"India\",\n postalCode: \"\",\n };\n}\n\nexport interface RegisterPickupLocationModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n /** The org this address is being added for. */\n organizationId: string;\n /** Which carrier to register with — only carriers that support registration\n * should ever open this modal (currently just \"shiprocket\"). */\n carrier: string;\n /** Called once the address was successfully registered and saved — the\n * caller should refetch its address list rather than track a single value,\n * since an org can now have several. */\n onRegistered: () => void;\n}\n\n/**\n * Lets a seller submit a real pickup address and have it registered as a\n * new, bookable location directly with the shipping carrier — an org can\n * add several of these and pick one as active (see\n * OrganizationDetailPage's Fulfillment section). A real, permanent write to\n * the carrier's own account (see ShiprocketAdapter.registerPickupLocation),\n * free of charge on Shiprocket's side (no per-address fee — they bill per\n * shipment, not per pickup point). We never maintain our own list of\n * \"valid\" pincodes; whatever address the carrier itself accepts here is\n * supported, full stop.\n */\nexport const RegisterPickupLocationModal: FC<\n RegisterPickupLocationModalProps\n> = ({ open, onOpenChange, organizationId, carrier, onRegistered }) => {\n const tr = useTr();\n const titleId = useId();\n const dialogRef = useRef<HTMLDivElement | null>(null);\n const [form, setForm] = useState<AddressForm>(emptyForm);\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n // Reset to a blank form every time the modal is (re)opened.\n useEffect(() => {\n if (open) setForm(emptyForm());\n }, [open]);\n\n if (!open) return null;\n\n const setField = (field: keyof AddressForm, value: string) =>\n setForm((prev) => ({ ...prev, [field]: value }));\n\n const handleClose = () => {\n if (submitting) return;\n setError(null);\n onOpenChange(false);\n };\n\n const canSubmit =\n form.name.trim() &&\n form.email.trim() &&\n form.phone.trim() &&\n form.address.trim() &&\n form.city.trim() &&\n form.state.trim() &&\n form.country.trim() &&\n form.postalCode.trim();\n\n const handleSubmit = async () => {\n if (!canSubmit) return;\n setSubmitting(true);\n setError(null);\n try {\n const result = await graphqlFetch<{\n registerCarrierPickupLocation: {\n label: string;\n postalCode: string;\n carrier: string;\n };\n }>({\n gateway: \"global\",\n query: REGISTER_CARRIER_PICKUP_LOCATION_MUTATION,\n variables: {\n input: {\n organizationId,\n carrier,\n name: form.name.trim(),\n email: form.email.trim(),\n phone: form.phone.trim(),\n address: form.address.trim(),\n addressLine2: form.addressLine2.trim() || undefined,\n city: form.city.trim(),\n state: form.state.trim(),\n country: form.country.trim(),\n postalCode: form.postalCode.trim(),\n },\n },\n });\n if (result.errors?.length) {\n throw new Error(\n result.errors[0]?.message ?? \"Failed to register pickup address\",\n );\n }\n // The follow-up pickupAddresses refetch uses the exact same\n // query+variables as the initial load — without clearing this,\n // graphqlFetch's short-lived response cache would serve the\n // pre-registration list back, hiding the new address until reload.\n clearGraphqlFetchResponseCache();\n onRegistered();\n onOpenChange(false);\n } catch (err) {\n setError(\n err instanceof Error\n ? err.message\n : \"Failed to register pickup address\",\n );\n } finally {\n setSubmitting(false);\n }\n };\n\n return (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <button\n type=\"button\"\n aria-label=\"Close register pickup address dialog backdrop\"\n className=\"absolute inset-0 bg-bg-overlay\"\n onClick={handleClose}\n />\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n tabIndex={-1}\n className=\"relative z-10 max-h-[90vh] w-full max-w-lg overflow-y-auto rounded-lg bg-bg-surface shadow-xl\"\n >\n <div className=\"flex items-start gap-4 border-b p-6\">\n <div className=\"rounded-full bg-status-info-bg-subtle p-2\">\n <Truck className=\"h-6 w-6 text-status-info-text\" />\n </div>\n <div className=\"flex-1\">\n <h3 id={titleId} className=\"text-lg font-semibold\">\n {tr(\"devportal.registerPickupAddress\", \"Pickup Address\")}\n </h3>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {tr(\n \"devportal.registerPickupAddressDesc\",\n \"This is the real address your physical orders ship from. It's free to register — Shiprocket doesn't charge per pickup point, only per shipment.\",\n )}\n </p>\n </div>\n <button\n type=\"button\"\n onClick={handleClose}\n disabled={submitting}\n className=\"rounded-md p-1 text-text-secondary hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n\n <div className=\"space-y-4 p-6\">\n <InputField\n label={tr(\"devportal.pickupContactName\", \"Contact name\")}\n value={form.name}\n onChange={(e) => setField(\"name\", e.target.value)}\n required\n disabled={submitting}\n />\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n <InputField\n label={tr(\"devportal.pickupContactEmail\", \"Contact email\")}\n type=\"email\"\n value={form.email}\n onChange={(e) => setField(\"email\", e.target.value)}\n required\n disabled={submitting}\n />\n <InputField\n label={tr(\"devportal.pickupContactPhone\", \"Contact phone\")}\n type=\"tel\"\n value={form.phone}\n onChange={(e) => setField(\"phone\", e.target.value)}\n required\n disabled={submitting}\n />\n </div>\n <InputField\n label={tr(\"devportal.pickupAddressLine1\", \"Address\")}\n value={form.address}\n onChange={(e) => setField(\"address\", e.target.value)}\n required\n disabled={submitting}\n placeholder=\"12 Farm Road\"\n hint={tr(\n \"devportal.pickupAddressLine1Hint\",\n 'Must include a house/flat/building or road number — our carrier rejects area names alone (e.g. \"Pitampura\" on its own won\\'t work, \"12 Pitampura Road\" will).',\n )}\n />\n <InputField\n label={tr(\n \"devportal.pickupAddressLine2\",\n \"Apartment, suite, building number, etc. (optional)\",\n )}\n value={form.addressLine2}\n onChange={(e) => setField(\"addressLine2\", e.target.value)}\n disabled={submitting}\n />\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n <InputField\n label={tr(\"devportal.pickupCity\", \"City\")}\n value={form.city}\n onChange={(e) => setField(\"city\", e.target.value)}\n required\n disabled={submitting}\n />\n <InputField\n label={tr(\"devportal.pickupState\", \"State\")}\n value={form.state}\n onChange={(e) => setField(\"state\", e.target.value)}\n required\n disabled={submitting}\n />\n </div>\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n <InputField\n label={tr(\"devportal.pickupCountry\", \"Country\")}\n value={form.country}\n onChange={(e) => setField(\"country\", e.target.value)}\n required\n disabled={submitting}\n />\n <InputField\n label={tr(\"devportal.pickupPincode\", \"Pincode\")}\n value={form.postalCode}\n onChange={(e) => setField(\"postalCode\", e.target.value)}\n required\n disabled={submitting}\n />\n </div>\n\n {error && <p className=\"text-sm text-status-error-text\">{error}</p>}\n </div>\n\n <div className=\"flex items-center justify-end gap-3 border-t p-6\">\n <button\n type=\"button\"\n onClick={handleClose}\n disabled={submitting}\n className=\"rounded-md px-4 py-2 text-sm font-medium text-text-secondary hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n {tr(\"devportal.cancel\", \"Cancel\")}\n </button>\n <button\n type=\"button\"\n onClick={() => void handleSubmit()}\n disabled={submitting || !canSubmit}\n className=\"flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors disabled:opacity-50\"\n >\n {submitting && <Loader2 className=\"h-4 w-4 animate-spin\" />}\n {tr(\"devportal.registerPickupAddressSubmit\", \"Save Pickup Address\")}\n </button>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RegisterPickupLocationModal.js","names":["REGISTER_CARRIER_PICKUP_LOCATION_MUTATION","emptyForm","RegisterPickupLocationModal","tr","useTr","titleId","useId","dialogRef","useRef","form","setForm","useState","submitting","setSubmitting","error","setError","useEffect","open","setField","prev","field","value","handleClose","onOpenChange","canSubmit","handleSubmit","result","graphqlFetch","clearGraphqlFetchResponseCache","onRegistered","err","Truck","X","InputField","Loader2"],"sources":["../../../src/devportal/components/RegisterPickupLocationModal.tsx"],"sourcesContent":["import { useEffect, useId, useRef, useState, type FC } from \"react\";\nimport { Truck, X, Loader2 } from \"lucide-react\";\nimport {\n graphqlFetch,\n clearGraphqlFetchResponseCache,\n} from \"@burdenoff/fe-libs/shared/graphql\";\nimport { InputField } from \"./FormField\";\nimport { useTr } from \"../utils/i18n\";\n\nconst REGISTER_CARRIER_PICKUP_LOCATION_MUTATION = `\n mutation RegisterCarrierPickupLocation($input: RegisterCarrierPickupLocationInput!) {\n registerCarrierPickupLocation(input: $input) {\n label\n postalCode\n carrier\n }\n }\n`;\n\ninterface AddressForm {\n name: string;\n email: string;\n phone: string;\n address: string;\n addressLine2: string;\n city: string;\n state: string;\n country: string;\n postalCode: string;\n}\n\nfunction emptyForm(): AddressForm {\n return {\n name: \"\",\n email: \"\",\n phone: \"\",\n address: \"\",\n addressLine2: \"\",\n city: \"\",\n state: \"\",\n country: \"India\",\n postalCode: \"\",\n };\n}\n\nexport interface RegisterPickupLocationModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n /** The org this address is being added for. */\n organizationId: string;\n /** Which carrier to register with — only carriers that support registration\n * should ever open this modal (currently just \"shiprocket\"). */\n carrier: string;\n /** Called once the address was successfully registered and saved — the\n * caller should refetch its address list rather than track a single value,\n * since an org can now have several. */\n onRegistered: () => void;\n}\n\n/**\n * Lets a seller submit a real pickup address and have it registered as a\n * new, bookable location directly with the shipping carrier — an org can\n * add several of these and pick one as active (see\n * OrganizationDetailPage's Fulfillment section). A real, permanent write to\n * the carrier's own account (see ShiprocketAdapter.registerPickupLocation),\n * free of charge on Shiprocket's side (no per-address fee — they bill per\n * shipment, not per pickup point). We never maintain our own list of\n * \"valid\" pincodes; whatever address the carrier itself accepts here is\n * supported, full stop.\n */\nexport const RegisterPickupLocationModal: FC<\n RegisterPickupLocationModalProps\n> = ({ open, onOpenChange, organizationId, carrier, onRegistered }) => {\n const tr = useTr();\n const titleId = useId();\n const dialogRef = useRef<HTMLDivElement | null>(null);\n const [form, setForm] = useState<AddressForm>(emptyForm);\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n // Reset to a blank form every time the modal is (re)opened.\n useEffect(() => {\n if (open) setForm(emptyForm());\n }, [open]);\n\n if (!open) return null;\n\n const setField = (field: keyof AddressForm, value: string) =>\n setForm((prev) => ({ ...prev, [field]: value }));\n\n const handleClose = () => {\n if (submitting) return;\n setError(null);\n onOpenChange(false);\n };\n\n const canSubmit =\n form.name.trim() &&\n form.email.trim() &&\n form.phone.trim() &&\n form.address.trim() &&\n form.city.trim() &&\n form.state.trim() &&\n form.country.trim() &&\n form.postalCode.trim();\n\n const handleSubmit = async () => {\n if (!canSubmit) return;\n setSubmitting(true);\n setError(null);\n try {\n const result = await graphqlFetch<{\n registerCarrierPickupLocation: {\n label: string;\n postalCode: string;\n carrier: string;\n };\n }>({\n gateway: \"global\",\n query: REGISTER_CARRIER_PICKUP_LOCATION_MUTATION,\n variables: {\n input: {\n organizationId,\n carrier,\n name: form.name.trim(),\n email: form.email.trim(),\n phone: form.phone.trim(),\n address: form.address.trim(),\n addressLine2: form.addressLine2.trim() || undefined,\n city: form.city.trim(),\n state: form.state.trim(),\n country: form.country.trim(),\n postalCode: form.postalCode.trim(),\n },\n },\n });\n if (result.errors?.length) {\n throw new Error(\n result.errors[0]?.message ?? \"Failed to register pickup address\",\n );\n }\n // The follow-up pickupAddresses refetch uses the exact same\n // query+variables as the initial load — without clearing this,\n // graphqlFetch's short-lived response cache would serve the\n // pre-registration list back, hiding the new address until reload.\n clearGraphqlFetchResponseCache();\n onRegistered();\n onOpenChange(false);\n } catch (err) {\n setError(\n err instanceof Error\n ? err.message\n : \"Failed to register pickup address\",\n );\n } finally {\n setSubmitting(false);\n }\n };\n\n return (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <button\n type=\"button\"\n aria-label=\"Close register pickup address dialog backdrop\"\n className=\"absolute inset-0 bg-bg-overlay\"\n onClick={handleClose}\n />\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n tabIndex={-1}\n className=\"relative z-10 max-h-[90vh] w-full max-w-lg overflow-y-auto rounded-lg bg-bg-surface shadow-xl\"\n >\n <div className=\"flex items-start gap-4 border-b p-6\">\n <div className=\"rounded-full bg-status-info-bg-subtle p-2\">\n <Truck className=\"h-6 w-6 text-status-info-text\" />\n </div>\n <div className=\"flex-1\">\n <h3 id={titleId} className=\"text-lg font-semibold\">\n {tr(\"devportal.registerPickupAddress\", \"Pickup Address\")}\n </h3>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {tr(\n \"devportal.registerPickupAddressDesc\",\n \"This is the real address your physical orders ship from. It's free to register — Shiprocket doesn't charge per pickup point, only per shipment.\",\n )}\n </p>\n </div>\n <button\n type=\"button\"\n onClick={handleClose}\n disabled={submitting}\n className=\"rounded-md p-1 text-text-secondary hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n\n <div className=\"space-y-4 p-6\">\n <InputField\n label={tr(\"devportal.pickupContactName\", \"Contact name\")}\n value={form.name}\n onChange={(e) => setField(\"name\", e.target.value)}\n required\n disabled={submitting}\n />\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n <InputField\n label={tr(\"devportal.pickupContactEmail\", \"Contact email\")}\n type=\"email\"\n value={form.email}\n onChange={(e) => setField(\"email\", e.target.value)}\n required\n disabled={submitting}\n />\n <InputField\n label={tr(\"devportal.pickupContactPhone\", \"Contact phone\")}\n type=\"tel\"\n value={form.phone}\n onChange={(e) => setField(\"phone\", e.target.value)}\n required\n disabled={submitting}\n />\n </div>\n <InputField\n label={tr(\"devportal.pickupAddressLine1\", \"Address\")}\n value={form.address}\n onChange={(e) => setField(\"address\", e.target.value)}\n required\n disabled={submitting}\n placeholder=\"12 Farm Road\"\n hint={tr(\n \"devportal.pickupAddressLine1Hint\",\n 'Must include a house/flat/building or road number — our carrier rejects area names alone (e.g. \"Pitampura\" on its own won\\'t work, \"12 Pitampura Road\" will).',\n )}\n />\n <InputField\n label={tr(\n \"devportal.pickupAddressLine2\",\n \"Apartment, suite, building number, etc. (optional)\",\n )}\n value={form.addressLine2}\n onChange={(e) => setField(\"addressLine2\", e.target.value)}\n disabled={submitting}\n />\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n <InputField\n label={tr(\"devportal.pickupCity\", \"City\")}\n value={form.city}\n onChange={(e) => setField(\"city\", e.target.value)}\n required\n disabled={submitting}\n />\n <InputField\n label={tr(\"devportal.pickupState\", \"State\")}\n value={form.state}\n onChange={(e) => setField(\"state\", e.target.value)}\n required\n disabled={submitting}\n />\n </div>\n <div className=\"grid grid-cols-1 gap-4 sm:grid-cols-2\">\n <InputField\n label={tr(\"devportal.pickupCountry\", \"Country\")}\n value={form.country}\n onChange={(e) => setField(\"country\", e.target.value)}\n required\n disabled={submitting}\n />\n <InputField\n label={tr(\"devportal.pickupPincode\", \"Pincode\")}\n value={form.postalCode}\n onChange={(e) => setField(\"postalCode\", e.target.value)}\n required\n disabled={submitting}\n />\n </div>\n\n {error && <p className=\"text-sm text-status-error-text\">{error}</p>}\n </div>\n\n <div className=\"flex items-center justify-end gap-3 border-t p-6\">\n <button\n type=\"button\"\n onClick={handleClose}\n disabled={submitting}\n className=\"rounded-md px-4 py-2 text-sm font-medium text-text-secondary hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n {tr(\"devportal.cancel\", \"Cancel\")}\n </button>\n <button\n type=\"button\"\n onClick={() => void handleSubmit()}\n disabled={submitting || !canSubmit}\n className=\"flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-sm font-medium text-action-primary-text hover:bg-action-primary-bg/90 transition-colors disabled:opacity-50\"\n >\n {submitting && <Loader2 className=\"h-4 w-4 animate-spin\" />}\n {tr(\"devportal.registerPickupAddressSubmit\", \"Save Pickup Address\")}\n </button>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
|
|
3
2
|
export type OrderIssueCategory = "OUT_OF_STOCK" | "CANNOT_FULFILL" | "WRONG_ADDRESS" | "OTHER";
|
|
4
3
|
export interface ReportOrderIssueModalProps {
|
|
5
4
|
open: boolean;
|
|
@@ -17,4 +16,3 @@ export interface ReportOrderIssueModalProps {
|
|
|
17
16
|
* anything (that stays manual for now, see BOFF-7192 follow-up).
|
|
18
17
|
*/
|
|
19
18
|
export declare const ReportOrderIssueModal: FC<ReportOrderIssueModalProps>;
|
|
20
|
-
//# sourceMappingURL=ReportOrderIssueModal.d.ts.map
|
|
@@ -2,7 +2,7 @@ import { useId as e, useRef as t, useState as n } from "react";
|
|
|
2
2
|
import { AlertTriangle as r, Loader2 as i, X as a } from "lucide-react";
|
|
3
3
|
import { jsx as o, jsxs as s } from "react/jsx-runtime";
|
|
4
4
|
import { useI18n as c } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
|
|
5
|
-
|
|
5
|
+
// src/devportal/components/ReportOrderIssueModal.tsx
|
|
6
6
|
var l = [
|
|
7
7
|
{
|
|
8
8
|
value: "OUT_OF_STOCK",
|
|
@@ -151,7 +151,6 @@ var l = [
|
|
|
151
151
|
})]
|
|
152
152
|
});
|
|
153
153
|
};
|
|
154
|
-
//#endregion
|
|
155
154
|
export { d as ReportOrderIssueModal };
|
|
156
155
|
|
|
157
156
|
//# sourceMappingURL=ReportOrderIssueModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReportOrderIssueModal.js","names":[],"sources":["../../../src/devportal/components/ReportOrderIssueModal.tsx"],"sourcesContent":["import { useId, useRef, useState, type FC } from \"react\";\nimport { AlertTriangle, X, Loader2 } from \"lucide-react\";\nimport { useI18n } from \"@burdenoff/fe-libs/shared/providers/shell/I18nProvider\";\n\nexport type OrderIssueCategory =\n | \"OUT_OF_STOCK\"\n | \"CANNOT_FULFILL\"\n | \"WRONG_ADDRESS\"\n | \"OTHER\";\n\nconst CATEGORY_OPTIONS: { value: OrderIssueCategory; label: string }[] = [\n { value: \"OUT_OF_STOCK\", label: \"Out of stock\" },\n { value: \"CANNOT_FULFILL\", label: \"Cannot fulfill\" },\n { value: \"WRONG_ADDRESS\", label: \"Wrong address / pincode\" },\n { value: \"OTHER\", label: \"Other\" },\n];\n\nconst FLAG_ORDER_ISSUE_MUTATION = `\n mutation FlagOrderIssue($orderId: ID!, $organizationId: ID!, $category: OrderIssueCategory!, $note: String) {\n flagOrderIssue(orderId: $orderId, organizationId: $organizationId, category: $category, note: $note) {\n id\n category\n note\n status\n createdAt\n }\n }\n`;\n\nexport interface ReportOrderIssueModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n orderId: string;\n organizationId: string;\n gqlUrl: string;\n headers: Record<string, string>;\n onReported: () => void;\n}\n\n/**\n * Small modal for a seller to report a problem fulfilling a physical order\n * (out of stock, cannot fulfill, wrong address, etc). Purely informational —\n * visible to admin on the fulfillment console; does not cancel or refund\n * anything (that stays manual for now, see BOFF-7192 follow-up).\n */\nexport const ReportOrderIssueModal: FC<ReportOrderIssueModalProps> = ({\n open,\n onOpenChange,\n orderId,\n organizationId,\n gqlUrl,\n headers,\n onReported,\n}) => {\n const { t } = useI18n();\n const tr = (key: string, fallback: string) => {\n const v = t(key);\n return v === key ? fallback : v;\n };\n\n const titleId = useId();\n const dialogRef = useRef<HTMLDivElement | null>(null);\n const [category, setCategory] = useState<OrderIssueCategory>(\"OUT_OF_STOCK\");\n const [note, setNote] = useState(\"\");\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n if (!open) return null;\n\n const handleClose = () => {\n if (submitting) return;\n setNote(\"\");\n setCategory(\"OUT_OF_STOCK\");\n setError(null);\n onOpenChange(false);\n };\n\n const handleSubmit = async () => {\n setSubmitting(true);\n setError(null);\n try {\n const res = await fetch(gqlUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify({\n query: FLAG_ORDER_ISSUE_MUTATION,\n variables: {\n orderId,\n organizationId,\n category,\n note: note.trim() || null,\n },\n }),\n });\n const json = (await res.json()) as { errors?: { message: string }[] };\n if (json.errors?.length) {\n throw new Error(json.errors[0]?.message ?? \"Failed to report issue\");\n }\n onReported();\n handleClose();\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Failed to report issue\");\n } finally {\n setSubmitting(false);\n }\n };\n\n return (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <button\n type=\"button\"\n aria-label=\"Close report issue dialog backdrop\"\n className=\"absolute inset-0 bg-bg-overlay\"\n onClick={handleClose}\n />\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n tabIndex={-1}\n className=\"relative z-10 w-full max-w-md rounded-lg bg-bg-surface shadow-xl\"\n >\n <div className=\"flex items-start gap-4 border-b p-6\">\n <div className=\"rounded-full bg-status-warning-bg-subtle p-2\">\n <AlertTriangle className=\"h-6 w-6 text-status-warning-text\" />\n </div>\n <div className=\"flex-1\">\n <h3 id={titleId} className=\"text-lg font-semibold\">\n {tr(\"devportal.reportOrderIssue\", \"Report an Issue\")}\n </h3>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {tr(\n \"devportal.reportOrderIssueDesc\",\n \"Let admin know about a problem fulfilling this order.\",\n )}\n </p>\n </div>\n <button\n type=\"button\"\n onClick={handleClose}\n disabled={submitting}\n className=\"rounded-md p-1 text-text-secondary hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n\n <div className=\"space-y-4 p-6\">\n <div>\n <label className=\"mb-2 block text-sm font-medium\">\n {tr(\"devportal.issueCategory\", \"What's the problem?\")}\n </label>\n <div className=\"space-y-2\">\n {CATEGORY_OPTIONS.map((opt) => (\n <label\n key={opt.value}\n className=\"flex items-center gap-2 rounded-md border border-border-seam px-3 py-2 text-sm cursor-pointer hover:bg-bg-sunken transition-colors has-[:checked]:border-primary has-[:checked]:bg-primary/5\"\n >\n <input\n type=\"radio\"\n name=\"issue-category\"\n value={opt.value}\n checked={category === opt.value}\n onChange={() => setCategory(opt.value)}\n className=\"text-primary\"\n />\n {opt.label}\n </label>\n ))}\n </div>\n </div>\n\n <div>\n <label className=\"mb-2 block text-sm font-medium\">\n {tr(\"devportal.issueNote\", \"Additional details (optional)\")}\n </label>\n <textarea\n value={note}\n onChange={(e) => setNote(e.target.value)}\n rows={3}\n maxLength={500}\n placeholder={tr(\n \"devportal.issueNotePlaceholder\",\n \"Anything admin should know…\",\n )}\n className=\"w-full resize-none rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary\"\n />\n </div>\n\n {error && <p className=\"text-sm text-status-error-text\">{error}</p>}\n </div>\n\n <div className=\"flex items-center justify-end gap-3 border-t p-6\">\n <button\n type=\"button\"\n onClick={handleClose}\n disabled={submitting}\n className=\"rounded-md px-4 py-2 text-sm font-medium text-text-secondary hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n {tr(\"devportal.cancel\", \"Cancel\")}\n </button>\n <button\n type=\"button\"\n onClick={() => void handleSubmit()}\n disabled={submitting}\n className=\"flex items-center gap-2 rounded-md bg-status-warning-bg px-4 py-2 text-sm font-medium text-status-warning-text hover:opacity-90 transition-opacity disabled:opacity-50\"\n >\n {submitting && <Loader2 className=\"h-4 w-4 animate-spin\" />}\n {tr(\"devportal.submitReport\", \"Report Issue\")}\n </button>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ReportOrderIssueModal.js","names":["CATEGORY_OPTIONS","FLAG_ORDER_ISSUE_MUTATION","ReportOrderIssueModal","useI18n","tr","v","t","key","fallback","titleId","useId","dialogRef","useRef","category","setCategory","useState","note","setNote","submitting","setSubmitting","error","setError","open","handleClose","onOpenChange","handleSubmit","json","gqlUrl","onReported","err","AlertTriangle","X","opt","Loader2"],"sources":["../../../src/devportal/components/ReportOrderIssueModal.tsx"],"sourcesContent":["import { useId, useRef, useState, type FC } from \"react\";\nimport { AlertTriangle, X, Loader2 } from \"lucide-react\";\nimport { useI18n } from \"@burdenoff/fe-libs/shared/providers/shell/I18nProvider\";\n\nexport type OrderIssueCategory =\n \"OUT_OF_STOCK\" | \"CANNOT_FULFILL\" | \"WRONG_ADDRESS\" | \"OTHER\";\n\nconst CATEGORY_OPTIONS: { value: OrderIssueCategory; label: string }[] = [\n { value: \"OUT_OF_STOCK\", label: \"Out of stock\" },\n { value: \"CANNOT_FULFILL\", label: \"Cannot fulfill\" },\n { value: \"WRONG_ADDRESS\", label: \"Wrong address / pincode\" },\n { value: \"OTHER\", label: \"Other\" },\n];\n\nconst FLAG_ORDER_ISSUE_MUTATION = `\n mutation FlagOrderIssue($orderId: ID!, $organizationId: ID!, $category: OrderIssueCategory!, $note: String) {\n flagOrderIssue(orderId: $orderId, organizationId: $organizationId, category: $category, note: $note) {\n id\n category\n note\n status\n createdAt\n }\n }\n`;\n\nexport interface ReportOrderIssueModalProps {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n orderId: string;\n organizationId: string;\n gqlUrl: string;\n headers: Record<string, string>;\n onReported: () => void;\n}\n\n/**\n * Small modal for a seller to report a problem fulfilling a physical order\n * (out of stock, cannot fulfill, wrong address, etc). Purely informational —\n * visible to admin on the fulfillment console; does not cancel or refund\n * anything (that stays manual for now, see BOFF-7192 follow-up).\n */\nexport const ReportOrderIssueModal: FC<ReportOrderIssueModalProps> = ({\n open,\n onOpenChange,\n orderId,\n organizationId,\n gqlUrl,\n headers,\n onReported,\n}) => {\n const { t } = useI18n();\n const tr = (key: string, fallback: string) => {\n const v = t(key);\n return v === key ? fallback : v;\n };\n\n const titleId = useId();\n const dialogRef = useRef<HTMLDivElement | null>(null);\n const [category, setCategory] = useState<OrderIssueCategory>(\"OUT_OF_STOCK\");\n const [note, setNote] = useState(\"\");\n const [submitting, setSubmitting] = useState(false);\n const [error, setError] = useState<string | null>(null);\n\n if (!open) return null;\n\n const handleClose = () => {\n if (submitting) return;\n setNote(\"\");\n setCategory(\"OUT_OF_STOCK\");\n setError(null);\n onOpenChange(false);\n };\n\n const handleSubmit = async () => {\n setSubmitting(true);\n setError(null);\n try {\n const res = await fetch(gqlUrl, {\n method: \"POST\",\n headers,\n body: JSON.stringify({\n query: FLAG_ORDER_ISSUE_MUTATION,\n variables: {\n orderId,\n organizationId,\n category,\n note: note.trim() || null,\n },\n }),\n });\n const json = (await res.json()) as { errors?: { message: string }[] };\n if (json.errors?.length) {\n throw new Error(json.errors[0]?.message ?? \"Failed to report issue\");\n }\n onReported();\n handleClose();\n } catch (err) {\n setError(err instanceof Error ? err.message : \"Failed to report issue\");\n } finally {\n setSubmitting(false);\n }\n };\n\n return (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center\">\n <button\n type=\"button\"\n aria-label=\"Close report issue dialog backdrop\"\n className=\"absolute inset-0 bg-bg-overlay\"\n onClick={handleClose}\n />\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby={titleId}\n tabIndex={-1}\n className=\"relative z-10 w-full max-w-md rounded-lg bg-bg-surface shadow-xl\"\n >\n <div className=\"flex items-start gap-4 border-b p-6\">\n <div className=\"rounded-full bg-status-warning-bg-subtle p-2\">\n <AlertTriangle className=\"h-6 w-6 text-status-warning-text\" />\n </div>\n <div className=\"flex-1\">\n <h3 id={titleId} className=\"text-lg font-semibold\">\n {tr(\"devportal.reportOrderIssue\", \"Report an Issue\")}\n </h3>\n <p className=\"mt-1 text-sm text-text-secondary\">\n {tr(\n \"devportal.reportOrderIssueDesc\",\n \"Let admin know about a problem fulfilling this order.\",\n )}\n </p>\n </div>\n <button\n type=\"button\"\n onClick={handleClose}\n disabled={submitting}\n className=\"rounded-md p-1 text-text-secondary hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n <X className=\"h-5 w-5\" />\n </button>\n </div>\n\n <div className=\"space-y-4 p-6\">\n <div>\n <label className=\"mb-2 block text-sm font-medium\">\n {tr(\"devportal.issueCategory\", \"What's the problem?\")}\n </label>\n <div className=\"space-y-2\">\n {CATEGORY_OPTIONS.map((opt) => (\n <label\n key={opt.value}\n className=\"flex items-center gap-2 rounded-md border border-border-seam px-3 py-2 text-sm cursor-pointer hover:bg-bg-sunken transition-colors has-[:checked]:border-primary has-[:checked]:bg-primary/5\"\n >\n <input\n type=\"radio\"\n name=\"issue-category\"\n value={opt.value}\n checked={category === opt.value}\n onChange={() => setCategory(opt.value)}\n className=\"text-primary\"\n />\n {opt.label}\n </label>\n ))}\n </div>\n </div>\n\n <div>\n <label className=\"mb-2 block text-sm font-medium\">\n {tr(\"devportal.issueNote\", \"Additional details (optional)\")}\n </label>\n <textarea\n value={note}\n onChange={(e) => setNote(e.target.value)}\n rows={3}\n maxLength={500}\n placeholder={tr(\n \"devportal.issueNotePlaceholder\",\n \"Anything admin should know…\",\n )}\n className=\"w-full resize-none rounded-md border border-border-seam bg-bg-surface px-3 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-primary\"\n />\n </div>\n\n {error && <p className=\"text-sm text-status-error-text\">{error}</p>}\n </div>\n\n <div className=\"flex items-center justify-end gap-3 border-t p-6\">\n <button\n type=\"button\"\n onClick={handleClose}\n disabled={submitting}\n className=\"rounded-md px-4 py-2 text-sm font-medium text-text-secondary hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n {tr(\"devportal.cancel\", \"Cancel\")}\n </button>\n <button\n type=\"button\"\n onClick={() => void handleSubmit()}\n disabled={submitting}\n className=\"flex items-center gap-2 rounded-md bg-status-warning-bg px-4 py-2 text-sm font-medium text-status-warning-text hover:opacity-90 transition-opacity disabled:opacity-50\"\n >\n {submitting && <Loader2 className=\"h-4 w-4 animate-spin\" />}\n {tr(\"devportal.submitReport\", \"Report Issue\")}\n </button>\n </div>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
|
-
|
|
3
2
|
export interface SecretDisplayProps {
|
|
4
3
|
value: string;
|
|
5
4
|
label?: string;
|
|
@@ -29,4 +28,3 @@ export declare const NewSecretAlert: FC<{
|
|
|
29
28
|
description?: string;
|
|
30
29
|
onDismiss?: () => void;
|
|
31
30
|
}>;
|
|
32
|
-
//# sourceMappingURL=SecretDisplay.d.ts.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { cn as e } from "../utils/cn.js";
|
|
2
|
+
import { useTr as t } from "../utils/i18n.js";
|
|
3
3
|
import { nativeCopyText as n, nativeImpact as r, nativeNotify as i } from "../../utils/nativeBridge.js";
|
|
4
4
|
import { useState as a } from "react";
|
|
5
5
|
import { Check as o, Copy as s, Eye as c, EyeOff as l } from "lucide-react";
|
|
6
6
|
import { jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
7
|
-
|
|
7
|
+
// src/devportal/components/SecretDisplay.tsx
|
|
8
8
|
var f = ({ value: f, label: p, className: m, showCopy: h = !0, defaultHidden: g = !0, visible: _ }) => {
|
|
9
|
-
let v =
|
|
9
|
+
let v = t(), [y, b] = a(_ === void 0 ? !g : _), [x, S] = a(!1), C = async () => {
|
|
10
10
|
r("light"), await n(f) ? (S(!0), i("success"), setTimeout(() => S(!1), 2e3)) : i("error");
|
|
11
11
|
}, w = "•".repeat(Math.min(f.length, 40));
|
|
12
12
|
return /* @__PURE__ */ d("div", {
|
|
13
|
-
className:
|
|
13
|
+
className: e("space-y-1", m),
|
|
14
14
|
children: [p && /* @__PURE__ */ u("label", {
|
|
15
15
|
className: "text-sm font-medium text-text-secondary",
|
|
16
16
|
children: p
|
|
@@ -41,8 +41,8 @@ var f = ({ value: f, label: p, className: m, showCopy: h = !0, defaultHidden: g
|
|
|
41
41
|
]
|
|
42
42
|
})]
|
|
43
43
|
});
|
|
44
|
-
}, p = ({ title:
|
|
45
|
-
let a =
|
|
44
|
+
}, p = ({ title: e, secret: n, description: r, onDismiss: i }) => {
|
|
45
|
+
let a = t();
|
|
46
46
|
return /* @__PURE__ */ u("div", {
|
|
47
47
|
className: "rounded-lg border border-border-subtle bg-status-warning-bg-subtle p-4",
|
|
48
48
|
children: /* @__PURE__ */ d("div", {
|
|
@@ -66,7 +66,7 @@ var f = ({ value: f, label: p, className: m, showCopy: h = !0, defaultHidden: g
|
|
|
66
66
|
children: [
|
|
67
67
|
/* @__PURE__ */ u("h4", {
|
|
68
68
|
className: "font-medium text-status-warning-text",
|
|
69
|
-
children:
|
|
69
|
+
children: e
|
|
70
70
|
}),
|
|
71
71
|
r && /* @__PURE__ */ u("p", {
|
|
72
72
|
className: "mt-1 text-sm text-status-warning-text",
|
|
@@ -107,7 +107,6 @@ var f = ({ value: f, label: p, className: m, showCopy: h = !0, defaultHidden: g
|
|
|
107
107
|
})
|
|
108
108
|
});
|
|
109
109
|
};
|
|
110
|
-
//#endregion
|
|
111
110
|
export { p as NewSecretAlert, f as SecretDisplay };
|
|
112
111
|
|
|
113
112
|
//# sourceMappingURL=SecretDisplay.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SecretDisplay.js","names":[],"sources":["../../../src/devportal/components/SecretDisplay.tsx"],"sourcesContent":["import { type FC, useState } from \"react\";\nimport { Eye, EyeOff, Copy, Check } from \"lucide-react\";\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\nimport {\n nativeCopyText,\n nativeImpact,\n nativeNotify,\n} from \"../../utils/nativeBridge\";\n\nexport interface SecretDisplayProps {\n value: string;\n label?: string;\n className?: string;\n showCopy?: boolean;\n defaultHidden?: boolean;\n /** Alias for defaultHidden=false - shows the secret by default */\n visible?: boolean;\n}\n\n/**\n * Component for displaying secrets with show/hide and copy functionality\n */\nexport const SecretDisplay: FC<SecretDisplayProps> = ({\n value,\n label,\n className,\n showCopy = true,\n defaultHidden = true,\n visible,\n}) => {\n const tr = useTr();\n // If visible is explicitly set, use it; otherwise use defaultHidden\n const [isVisible, setIsVisible] = useState(\n visible !== undefined ? visible : !defaultHidden,\n );\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n void nativeImpact(\"light\");\n const ok = await nativeCopyText(value);\n if (ok) {\n setCopied(true);\n void nativeNotify(\"success\");\n setTimeout(() => setCopied(false), 2000);\n } else {\n void nativeNotify(\"error\");\n }\n };\n\n const maskedValue = \"•\".repeat(Math.min(value.length, 40));\n\n return (\n <div className={cn(\"space-y-1\", className)}>\n {label && (\n <label className=\"text-sm font-medium text-text-secondary\">\n {label}\n </label>\n )}\n <div className=\"flex items-center gap-2\">\n <code className=\"flex-1 rounded-md bg-bg-sunken px-3 py-2 font-mono text-sm break-all\">\n {isVisible ? value : maskedValue}\n </code>\n <button\n type=\"button\"\n onClick={() => setIsVisible(!isVisible)}\n className=\"rounded-md p-2 hover:bg-bg-sunken transition-colors\"\n title={\n isVisible\n ? tr(\"devportal.hide\", \"Hide\")\n : tr(\"devportal.show\", \"Show\")\n }\n >\n {isVisible ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n {showCopy && (\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"rounded-md p-2 hover:bg-bg-sunken transition-colors\"\n title={tr(\"devportal.copyToClipboard\", \"Copy to clipboard\")}\n >\n {copied ? (\n <Check size={16} className=\"text-status-success-text\" />\n ) : (\n <Copy size={16} />\n )}\n </button>\n )}\n </div>\n </div>\n );\n};\n\n/**\n * Compact inline secret display\n */\nexport const InlineSecret: FC<{\n value: string;\n className?: string;\n}> = ({ value, className }) => {\n const [isVisible, setIsVisible] = useState(false);\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n void nativeImpact(\"light\");\n const ok = await nativeCopyText(value);\n if (ok) {\n setCopied(true);\n void nativeNotify(\"success\");\n setTimeout(() => setCopied(false), 2000);\n } else {\n void nativeNotify(\"error\");\n }\n };\n\n const maskedValue = value.substring(0, 8) + \"•\".repeat(20);\n\n return (\n <span className={cn(\"inline-flex items-center gap-1\", className)}>\n <code className=\"font-mono text-sm\">\n {isVisible ? value : maskedValue}\n </code>\n <button\n type=\"button\"\n onClick={() => setIsVisible(!isVisible)}\n className=\"p-1 hover:bg-bg-sunken rounded\"\n >\n {isVisible ? <EyeOff size={12} /> : <Eye size={12} />}\n </button>\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"p-1 hover:bg-bg-sunken rounded\"\n >\n {copied ? (\n <Check size={12} className=\"text-status-success-text\" />\n ) : (\n <Copy size={12} />\n )}\n </button>\n </span>\n );\n};\n\n/**\n * New secret alert - shown once when a new secret is generated\n */\nexport const NewSecretAlert: FC<{\n title: string;\n secret: string;\n description?: string;\n onDismiss?: () => void;\n}> = ({ title, secret, description, onDismiss }) => {\n const tr = useTr();\n return (\n <div className=\"rounded-lg border border-border-subtle bg-status-warning-bg-subtle p-4\">\n <div className=\"flex items-start gap-3\">\n <div className=\"flex-shrink-0\">\n <svg\n className=\"h-5 w-5 text-status-warning-text\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </div>\n <div className=\"flex-1\">\n <h4 className=\"font-medium text-status-warning-text\">{title}</h4>\n {description && (\n <p className=\"mt-1 text-sm text-status-warning-text\">\n {description}\n </p>\n )}\n <div className=\"mt-3\">\n <SecretDisplay value={secret} defaultHidden={false} />\n </div>\n <p className=\"mt-2 text-xs text-status-warning-text\">\n {tr(\n \"devportal.copySecretNow\",\n \"Make sure to copy this secret now. You won't be able to see it again!\",\n )}\n </p>\n </div>\n {onDismiss && (\n <button\n type=\"button\"\n onClick={onDismiss}\n className=\"text-status-warning-text hover:text-status-warning-text\"\n >\n <span className=\"sr-only\">Dismiss</span>\n <svg className=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;AAuBA,
|
|
1
|
+
{"version":3,"file":"SecretDisplay.js","names":["SecretDisplay","tr","useTr","isVisible","setIsVisible","useState","visible","defaultHidden","copied","setCopied","handleCopy","nativeImpact","nativeCopyText","value","nativeNotify","maskedValue","cn","className","label","jsx","EyeOff","Eye","showCopy","Check","Copy","NewSecretAlert","title","description","secret","onDismiss"],"sources":["../../../src/devportal/components/SecretDisplay.tsx"],"sourcesContent":["import { type FC, useState } from \"react\";\nimport { Eye, EyeOff, Copy, Check } from \"lucide-react\";\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\nimport {\n nativeCopyText,\n nativeImpact,\n nativeNotify,\n} from \"../../utils/nativeBridge\";\n\nexport interface SecretDisplayProps {\n value: string;\n label?: string;\n className?: string;\n showCopy?: boolean;\n defaultHidden?: boolean;\n /** Alias for defaultHidden=false - shows the secret by default */\n visible?: boolean;\n}\n\n/**\n * Component for displaying secrets with show/hide and copy functionality\n */\nexport const SecretDisplay: FC<SecretDisplayProps> = ({\n value,\n label,\n className,\n showCopy = true,\n defaultHidden = true,\n visible,\n}) => {\n const tr = useTr();\n // If visible is explicitly set, use it; otherwise use defaultHidden\n const [isVisible, setIsVisible] = useState(\n visible !== undefined ? visible : !defaultHidden,\n );\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n void nativeImpact(\"light\");\n const ok = await nativeCopyText(value);\n if (ok) {\n setCopied(true);\n void nativeNotify(\"success\");\n setTimeout(() => setCopied(false), 2000);\n } else {\n void nativeNotify(\"error\");\n }\n };\n\n const maskedValue = \"•\".repeat(Math.min(value.length, 40));\n\n return (\n <div className={cn(\"space-y-1\", className)}>\n {label && (\n <label className=\"text-sm font-medium text-text-secondary\">\n {label}\n </label>\n )}\n <div className=\"flex items-center gap-2\">\n <code className=\"flex-1 rounded-md bg-bg-sunken px-3 py-2 font-mono text-sm break-all\">\n {isVisible ? value : maskedValue}\n </code>\n <button\n type=\"button\"\n onClick={() => setIsVisible(!isVisible)}\n className=\"rounded-md p-2 hover:bg-bg-sunken transition-colors\"\n title={\n isVisible\n ? tr(\"devportal.hide\", \"Hide\")\n : tr(\"devportal.show\", \"Show\")\n }\n >\n {isVisible ? <EyeOff size={16} /> : <Eye size={16} />}\n </button>\n {showCopy && (\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"rounded-md p-2 hover:bg-bg-sunken transition-colors\"\n title={tr(\"devportal.copyToClipboard\", \"Copy to clipboard\")}\n >\n {copied ? (\n <Check size={16} className=\"text-status-success-text\" />\n ) : (\n <Copy size={16} />\n )}\n </button>\n )}\n </div>\n </div>\n );\n};\n\n/**\n * Compact inline secret display\n */\nexport const InlineSecret: FC<{\n value: string;\n className?: string;\n}> = ({ value, className }) => {\n const [isVisible, setIsVisible] = useState(false);\n const [copied, setCopied] = useState(false);\n\n const handleCopy = async () => {\n void nativeImpact(\"light\");\n const ok = await nativeCopyText(value);\n if (ok) {\n setCopied(true);\n void nativeNotify(\"success\");\n setTimeout(() => setCopied(false), 2000);\n } else {\n void nativeNotify(\"error\");\n }\n };\n\n const maskedValue = value.substring(0, 8) + \"•\".repeat(20);\n\n return (\n <span className={cn(\"inline-flex items-center gap-1\", className)}>\n <code className=\"font-mono text-sm\">\n {isVisible ? value : maskedValue}\n </code>\n <button\n type=\"button\"\n onClick={() => setIsVisible(!isVisible)}\n className=\"p-1 hover:bg-bg-sunken rounded\"\n >\n {isVisible ? <EyeOff size={12} /> : <Eye size={12} />}\n </button>\n <button\n type=\"button\"\n onClick={handleCopy}\n className=\"p-1 hover:bg-bg-sunken rounded\"\n >\n {copied ? (\n <Check size={12} className=\"text-status-success-text\" />\n ) : (\n <Copy size={12} />\n )}\n </button>\n </span>\n );\n};\n\n/**\n * New secret alert - shown once when a new secret is generated\n */\nexport const NewSecretAlert: FC<{\n title: string;\n secret: string;\n description?: string;\n onDismiss?: () => void;\n}> = ({ title, secret, description, onDismiss }) => {\n const tr = useTr();\n return (\n <div className=\"rounded-lg border border-border-subtle bg-status-warning-bg-subtle p-4\">\n <div className=\"flex items-start gap-3\">\n <div className=\"flex-shrink-0\">\n <svg\n className=\"h-5 w-5 text-status-warning-text\"\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n >\n <path\n fillRule=\"evenodd\"\n d=\"M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </div>\n <div className=\"flex-1\">\n <h4 className=\"font-medium text-status-warning-text\">{title}</h4>\n {description && (\n <p className=\"mt-1 text-sm text-status-warning-text\">\n {description}\n </p>\n )}\n <div className=\"mt-3\">\n <SecretDisplay value={secret} defaultHidden={false} />\n </div>\n <p className=\"mt-2 text-xs text-status-warning-text\">\n {tr(\n \"devportal.copySecretNow\",\n \"Make sure to copy this secret now. You won't be able to see it again!\",\n )}\n </p>\n </div>\n {onDismiss && (\n <button\n type=\"button\"\n onClick={onDismiss}\n className=\"text-status-warning-text hover:text-status-warning-text\"\n >\n <span className=\"sr-only\">Dismiss</span>\n <svg className=\"h-5 w-5\" viewBox=\"0 0 20 20\" fill=\"currentColor\">\n <path\n fillRule=\"evenodd\"\n d=\"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z\"\n clipRule=\"evenodd\"\n />\n </svg>\n </button>\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;AAuBA,IAAaA,KAAyC,EACpD,UACA,UACA,cACA,cAAW,IACX,mBAAgB,IAChB,iBACI;CACJ,IAAMC,IAAKC,EAAM,GAEX,CAACC,GAAWC,KAAgBC,EAChCC,MAAY,KAAA,IAAsB,CAACC,IAAXD,CAC1B,GACM,CAACE,GAAQC,KAAaJ,EAAS,EAAK,GAEpCK,IAAa,YAAY;EAG7B,AAFAC,EAAkB,OAAO,GAErB,MADaC,EAAeC,CAAK,KAEnCJ,EAAU,EAAI,GACdK,EAAkB,SAAS,GAC3B,iBAAiBL,EAAU,EAAK,GAAG,GAAI,KAEvCK,EAAkB,OAAO;CAE7B,GAEMC,IAAc,IAAI,OAAO,KAAK,IAAIF,EAAM,QAAQ,EAAE,CAAC;CAEzD,OACE,kBAAC,OAAD;EAAK,WAAWG,EAAG,aAAaC,CAAS;EAAzC,UAAA,CACGC,KACC,kBAAC,SAAD;GAAO,WAAU;GACd,UAAAA;EACI,CAAA,GAET,kBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACE,kBAAC,QAAD;KAAM,WAAU;KACb,UAAAf,IAAYU,IAAQE;IACjB,CAAA;IACN,kBAAC,UAAD;KACE,MAAK;KACL,eAAeX,EAAa,CAACD,CAAS;KACtC,WAAU;KACV,OACEA,IACIF,EAAG,kBAAkB,MAAM,IAC3BA,EAAG,kBAAkB,MAAM;KAGhC,UAAYkB,EAAZhB,IAAaiB,IAAuBC,GAAxB,EAAQ,MAAM,GAAK,CAAoB;IAC9C,CAAA;IACPC,KACC,kBAAC,UAAD;KACE,MAAK;KACL,SAASZ;KACT,WAAU;KACV,OAAOT,EAAG,6BAA6B,mBAAmB;KAEzD,UAAAO,IACC,kBAACe,GAAD;MAAO,MAAM;MAAI,WAAU;KAA4B,CAAA,IAEvD,kBAACC,GAAD,EAAM,MAAM,GAAK,CAAA;IAEb,CAAA;GAEP;EACF,CAAA,CAAA;;AAET,GAwDaC,KAKP,EAAE,UAAO,WAAQ,gBAAa,mBAAgB;CAClD,IAAMxB,IAAKC,EAAM;CACjB,OACE,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACE,kBAAC,OAAD;KAAK,WAAU;KACb,UAAA,kBAAC,OAAD;MACE,WAAU;MACV,SAAQ;MACR,MAAK;MAEL,UAAA,kBAAC,QAAD;OACE,UAAS;OACT,GAAE;OACF,UAAS;MACV,CAAA;KACE,CAAA;IACF,CAAA;IACL,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA;MACE,kBAAC,MAAD;OAAI,WAAU;OAAwC,UAAAwB;MAAU,CAAA;MAC/DC,KACC,kBAAC,KAAD;OAAG,WAAU;OACV,UAAAA;MACA,CAAA;MAEL,kBAAC,OAAD;OAAK,WAAU;OACb,UAAA,kBAAC3B,GAAD;QAAe,OAAO4B;QAAQ,eAAe;OAAQ,CAAA;MAClD,CAAA;MACL,kBAAC,KAAD;OAAG,WAAU;OACV,UAAA3B,EACC,2BACA,uEACF;MACC,CAAA;KACA;;IACJ4B,KACC,kBAAC,UAAD;KACE,MAAK;KACL,SAASA;KACT,WAAU;KAHZ,UAAA,CAKE,kBAAC,QAAD;MAAM,WAAU;MAAU,UAAA;KAAa,CAAA,GACvC,kBAAC,OAAD;MAAK,WAAU;MAAU,SAAQ;MAAY,MAAK;MAChD,UAAA,kBAAC,QAAD;OACE,UAAS;OACT,GAAE;OACF,UAAS;MACV,CAAA;KACE,CAAA,CACC;;GAEP;;CACF,CAAA;AAET"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { FC } from 'react';
|
|
2
2
|
import { LayoutDashboard } from 'lucide-react';
|
|
3
|
-
|
|
4
3
|
interface SectionDef {
|
|
5
4
|
path: string;
|
|
6
5
|
i18nKey: string;
|
|
@@ -32,4 +31,3 @@ export declare const OrgSwitcher: FC;
|
|
|
32
31
|
export declare const SectionNav: FC;
|
|
33
32
|
export declare const __SECTION_NAV_SECTIONS: readonly SectionDef[];
|
|
34
33
|
export {};
|
|
35
|
-
//# sourceMappingURL=SectionNav.d.ts.map
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { useDevportal as e } from "../providers/DevportalProvider.js";
|
|
2
|
-
import {
|
|
3
|
-
import { cn as n } from "../utils/cn.js";
|
|
4
|
-
import { orgSectionPath as r, useIsSellerSection as i } from "../hooks/useIsSellerSection.js";
|
|
5
|
-
import { useGetMyOrganizationsQuery as a } from "../../generated/global-operations.js";
|
|
2
|
+
import { orgSectionPath as t, useIsSellerSection as n } from "../hooks/useIsSellerSection.js";
|
|
6
3
|
import "../hooks/useGraphQL.js";
|
|
4
|
+
import { cn as r } from "../utils/cn.js";
|
|
5
|
+
import { useGetMyOrganizationsQuery as i } from "../../generated/global-operations.js";
|
|
6
|
+
import { useTr as a } from "../utils/i18n.js";
|
|
7
7
|
import { useEffect as o, useRef as s, useState as c } from "react";
|
|
8
8
|
import { Building2 as l, Check as u, ChevronDown as d, Plus as f } from "lucide-react";
|
|
9
9
|
import "react-router";
|
|
10
10
|
import { jsx as p, jsxs as m } from "react/jsx-runtime";
|
|
11
|
-
|
|
11
|
+
// src/devportal/components/SectionNav.tsx
|
|
12
12
|
var h = () => {
|
|
13
|
-
let { activeOrgId: h, setActiveOrgId: g, activePhysicalOrgId: _, setActivePhysicalOrgId: v, navigate: y, basePath: b } = e(), x =
|
|
13
|
+
let { activeOrgId: h, setActiveOrgId: g, activePhysicalOrgId: _, setActivePhysicalOrgId: v, navigate: y, basePath: b } = e(), x = n(), S = x ? _ : h, C = x ? v : g, w = a(), [T, E] = c(!1), D = s(null), { data: O } = i({ fetchPolicy: "cache-first" }), k = (O?.myDeveloperOrganizations ?? []).filter((e) => x ? e.kind === "PHYSICAL" : e.kind !== "PHYSICAL");
|
|
14
14
|
o(() => {
|
|
15
15
|
!S && k.length === 1 && k[0]?.id && C(k[0].id);
|
|
16
16
|
}, [
|
|
@@ -23,14 +23,14 @@ var h = () => {
|
|
|
23
23
|
};
|
|
24
24
|
return T && document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
|
|
25
25
|
}, [T]);
|
|
26
|
-
let A = k.find((e) => e.id === S)?.name ?? (k.length === 0 ? w("devportal.nav.noOrg", "No organization") : w("devportal.nav.selectOrg", "Select org")), j =
|
|
26
|
+
let A = k.find((e) => e.id === S)?.name ?? (k.length === 0 ? w("devportal.nav.noOrg", "No organization") : w("devportal.nav.selectOrg", "Select org")), j = t(x, "new");
|
|
27
27
|
return /* @__PURE__ */ m("div", {
|
|
28
28
|
ref: D,
|
|
29
29
|
className: "relative flex-shrink-0",
|
|
30
30
|
children: [/* @__PURE__ */ m("button", {
|
|
31
31
|
type: "button",
|
|
32
32
|
onClick: () => E((e) => !e),
|
|
33
|
-
className:
|
|
33
|
+
className: r("inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-sm font-medium transition-colors", "bg-bg-surface text-text-primary border-border-subtle hover:bg-accent"),
|
|
34
34
|
"aria-label": w("devportal.nav.switchOrg", "Switch organization"),
|
|
35
35
|
children: [
|
|
36
36
|
/* @__PURE__ */ p(l, {
|
|
@@ -43,7 +43,7 @@ var h = () => {
|
|
|
43
43
|
}),
|
|
44
44
|
/* @__PURE__ */ p(d, {
|
|
45
45
|
size: 13,
|
|
46
|
-
className:
|
|
46
|
+
className: r("transition-transform", T && "rotate-180")
|
|
47
47
|
})
|
|
48
48
|
]
|
|
49
49
|
}), T && /* @__PURE__ */ m("div", {
|
|
@@ -54,10 +54,10 @@ var h = () => {
|
|
|
54
54
|
onClick: () => {
|
|
55
55
|
C(e.id), E(!1);
|
|
56
56
|
},
|
|
57
|
-
className:
|
|
57
|
+
className: r("flex w-full items-center gap-2 px-3 py-2 text-sm text-left transition-colors hover:bg-accent", e.id === S ? "text-primary font-medium" : "text-text-primary"),
|
|
58
58
|
children: [/* @__PURE__ */ p(u, {
|
|
59
59
|
size: 13,
|
|
60
|
-
className:
|
|
60
|
+
className: r("flex-shrink-0", e.id === S ? "opacity-100 text-primary" : "opacity-0")
|
|
61
61
|
}), /* @__PURE__ */ p("span", {
|
|
62
62
|
className: "truncate",
|
|
63
63
|
children: e.name
|
|
@@ -82,7 +82,6 @@ var h = () => {
|
|
|
82
82
|
})]
|
|
83
83
|
});
|
|
84
84
|
};
|
|
85
|
-
//#endregion
|
|
86
85
|
export { h as OrgSwitcher };
|
|
87
86
|
|
|
88
87
|
//# sourceMappingURL=SectionNav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionNav.js","names":[],"sources":["../../../src/devportal/components/SectionNav.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useLocation } from \"react-router\";\nimport {\n LayoutDashboard,\n AppWindow,\n Building2,\n Share2,\n DollarSign,\n BookOpen,\n Library,\n User,\n Settings,\n ChevronDown,\n Check,\n Plus,\n} from \"lucide-react\";\nimport { useDevportal } from \"../providers/DevportalProvider\";\nimport {\n useIsSellerSection,\n orgSectionPath,\n} from \"../hooks/useIsSellerSection\";\nimport {\n useGetMyOrganizationsQuery,\n type GetMyOrganizationsQuery,\n} from \"../hooks/useGraphQL\";\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\n\ntype OrgItem = GetMyOrganizationsQuery[\"myDeveloperOrganizations\"][number];\n\ninterface SectionDef {\n path: string;\n i18nKey: string;\n fallback: string;\n icon: typeof LayoutDashboard;\n /** Additional sub-paths that should mark this section as active. */\n matchPrefixes?: string[];\n}\n\nconst SECTIONS: ReadonlyArray<SectionDef> = [\n {\n path: \"\",\n i18nKey: \"devportal.nav.dashboard\",\n fallback: \"Dashboard\",\n icon: LayoutDashboard,\n },\n {\n path: \"apps\",\n i18nKey: \"devportal.nav.apps\",\n fallback: \"Apps\",\n icon: AppWindow,\n },\n {\n path: \"organizations\",\n i18nKey: \"devportal.nav.organizations\",\n fallback: \"Organizations\",\n icon: Building2,\n },\n {\n path: \"delegations\",\n i18nKey: \"devportal.nav.delegations\",\n fallback: \"Delegations\",\n icon: Share2,\n },\n {\n path: \"revenue\",\n i18nKey: \"devportal.nav.revenue\",\n fallback: \"Revenue\",\n icon: DollarSign,\n },\n {\n path: \"docs\",\n i18nKey: \"devportal.nav.docs\",\n fallback: \"Docs\",\n icon: BookOpen,\n },\n {\n path: \"resources\",\n i18nKey: \"devportal.nav.resources\",\n fallback: \"Resources\",\n icon: Library,\n },\n {\n path: \"publisher/profile\",\n i18nKey: \"devportal.nav.publisher\",\n fallback: \"Publisher\",\n icon: User,\n matchPrefixes: [\"publisher\"],\n },\n {\n path: \"settings\",\n i18nKey: \"devportal.nav.settings\",\n fallback: \"Settings\",\n icon: Settings,\n },\n];\n\nfunction joinBaseAndPath(basePath: string | undefined, path: string): string {\n const base = (basePath ?? \"\").replace(/\\/$/, \"\");\n if (!path) return base || \"/\";\n const suffix = path.startsWith(\"/\") ? path : `/${path}`;\n return `${base}${suffix}`;\n}\n\nfunction isSectionActive(\n pathname: string,\n basePath: string | undefined,\n section: SectionDef,\n): boolean {\n const sectionUrl = joinBaseAndPath(basePath, section.path);\n // Index/dashboard is active only when exactly matched (or with empty extra).\n if (section.path === \"\") {\n return pathname === sectionUrl || pathname === `${sectionUrl}/`;\n }\n const candidates = [section.path, ...(section.matchPrefixes ?? [])];\n return candidates.some((prefix) => {\n const url = joinBaseAndPath(basePath, prefix);\n return pathname === url || pathname.startsWith(`${url}/`);\n });\n}\n\n/**\n * Org context switcher — can be embedded standalone or inside SectionNav.\n *\n * Shared between the regular devportal and the seller portal: filters the\n * org list to PHYSICAL-kind orgs under /devportal/seller/** and DIGITAL-kind\n * everywhere else, and reads/writes the matching active-org slot\n * (activePhysicalOrgId vs activeOrgId) so this switcher and\n * useSellerOrganization (used by the item-creation flow) always agree on\n * which org is current. See DeveloperOrgKind (BOFF-7285).\n */\nexport const OrgSwitcher: FC = () => {\n const {\n activeOrgId,\n setActiveOrgId,\n activePhysicalOrgId,\n setActivePhysicalOrgId,\n navigate,\n basePath,\n } = useDevportal();\n const isSeller = useIsSellerSection();\n const currentOrgId = isSeller ? activePhysicalOrgId : activeOrgId;\n const setCurrentOrgId = isSeller ? setActivePhysicalOrgId : setActiveOrgId;\n const tr = useTr();\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n const { data } = useGetMyOrganizationsQuery({ fetchPolicy: \"cache-first\" });\n const allOrgs: OrgItem[] = data?.myDeveloperOrganizations ?? [];\n const orgs = allOrgs.filter((org) =>\n isSeller ? org.kind === \"PHYSICAL\" : org.kind !== \"PHYSICAL\",\n );\n\n // Auto-select when there's exactly one matching org and nothing is stored yet\n useEffect(() => {\n if (!currentOrgId && orgs.length === 1 && orgs[0]?.id) {\n setCurrentOrgId(orgs[0].id);\n }\n }, [orgs, currentOrgId, setCurrentOrgId]);\n\n // Close on outside click\n useEffect(() => {\n const handler = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n }\n };\n if (open) document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, [open]);\n\n const activeOrg = orgs.find((o) => o.id === currentOrgId);\n const label =\n activeOrg?.name ??\n (orgs.length === 0\n ? tr(\"devportal.nav.noOrg\", \"No organization\")\n : tr(\"devportal.nav.selectOrg\", \"Select org\"));\n\n const createOrgPath = orgSectionPath(isSeller, \"new\");\n\n return (\n <div ref={ref} className=\"relative flex-shrink-0\">\n <button\n type=\"button\"\n onClick={() => setOpen((v) => !v)}\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-sm font-medium transition-colors\",\n \"bg-bg-surface text-text-primary border-border-subtle hover:bg-accent\",\n )}\n aria-label={tr(\"devportal.nav.switchOrg\", \"Switch organization\")}\n >\n <Building2 size={13} className=\"text-primary flex-shrink-0\" />\n <span className=\"max-w-[140px] truncate\">{label}</span>\n <ChevronDown\n size={13}\n className={cn(\"transition-transform\", open && \"rotate-180\")}\n />\n </button>\n\n {open && (\n <div className=\"absolute right-0 top-full z-50 mt-1 min-w-[200px] rounded-md border border-border-subtle bg-popover shadow-lg py-1\">\n {orgs.map((org) => (\n <button\n key={org.id}\n type=\"button\"\n onClick={() => {\n setCurrentOrgId(org.id);\n setOpen(false);\n }}\n className={cn(\n \"flex w-full items-center gap-2 px-3 py-2 text-sm text-left transition-colors hover:bg-accent\",\n org.id === currentOrgId\n ? \"text-primary font-medium\"\n : \"text-text-primary\",\n )}\n >\n <Check\n size={13}\n className={cn(\n \"flex-shrink-0\",\n org.id === currentOrgId\n ? \"opacity-100 text-primary\"\n : \"opacity-0\",\n )}\n />\n <span className=\"truncate\">{org.name}</span>\n </button>\n ))}\n {orgs.length > 0 && (\n <div className=\"my-1 border-t border-border-subtle\" />\n )}\n <button\n type=\"button\"\n onClick={() => {\n setOpen(false);\n navigate?.(`${basePath ?? \"\"}${createOrgPath}`);\n }}\n className=\"flex w-full items-center gap-2 px-3 py-2 text-sm text-left text-primary transition-colors hover:bg-accent\"\n >\n <Plus size={13} className=\"flex-shrink-0\" />\n <span className=\"truncate\">\n {tr(\"devportal.nav.newOrganization\", \"New organization\")}\n </span>\n </button>\n </div>\n )}\n </div>\n );\n};\n\n/**\n * Horizontal section nav rendered above the page content on every devportal\n * route. Gives developers a one-click jump between all top-level sections so\n * routes like OAuth, Delegations, Analytics, Revenue, Docs, Resources,\n * Publisher Profile, and Settings are reachable without typing URLs.\n *\n * Renders nothing when `basePath` is undefined (standalone/dev mode) so it\n * doesn't conflict with whatever harness wraps the MFE there.\n */\nexport const SectionNav: FC = () => {\n const { navigate, basePath } = useDevportal();\n const { pathname } = useLocation();\n const tr = useTr();\n\n if (!basePath || !navigate) return null;\n\n const handleClick = (path: string) => {\n navigate(joinBaseAndPath(basePath, path));\n };\n\n return (\n <nav\n aria-label={tr(\"devportal.nav.sections\", \"Developer portal sections\")}\n className=\"border-b border-border-subtle bg-bg-surface/40 px-4 py-2\"\n data-testid=\"devportal-section-nav\"\n >\n <div className=\"flex items-center gap-2\">\n <ul className=\"flex flex-1 flex-wrap gap-1\">\n {SECTIONS.map((section) => {\n const active = isSectionActive(pathname, basePath, section);\n const Icon = section.icon;\n return (\n <li key={section.path}>\n <button\n type=\"button\"\n onClick={() => handleClick(section.path)}\n aria-current={active ? \"page\" : undefined}\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium transition-colors\",\n active\n ? \"bg-action-primary-bg text-action-primary-text\"\n : \"text-text-secondary hover:bg-accent hover:text-text-primary\",\n )}\n >\n <Icon size={14} />\n <span>{tr(section.i18nKey, section.fallback)}</span>\n </button>\n </li>\n );\n })}\n </ul>\n <OrgSwitcher />\n </div>\n </nav>\n );\n};\n\n// Exported for unit tests that want to assert against the canonical list.\nexport const __SECTION_NAV_SECTIONS = SECTIONS;\n"],"mappings":";;;;;;;;;;;AAoIA,IAAa,UAAwB;CACnC,IAAM,EACJ,gBACA,mBACA,wBACA,2BACA,aACA,gBACE,GAAc,EACZ,IAAW,GAAoB,EAC/B,IAAe,IAAW,IAAsB,GAChD,IAAkB,IAAW,IAAyB,GACtD,IAAK,GAAO,EACZ,CAAC,GAAM,KAAW,EAAS,GAAM,EACjC,IAAM,EAAuB,KAAK,EAElC,EAAE,YAAS,EAA2B,EAAE,aAAa,eAAe,CAAC,EAErE,KADqB,GAAM,4BAA4B,EAAE,EAC1C,QAAQ,MAC3B,IAAW,EAAI,SAAS,aAAa,EAAI,SAAS,WACnD;AAUD,CAPA,QAAgB;AACd,EAAI,CAAC,KAAgB,EAAK,WAAW,KAAK,EAAK,IAAI,MACjD,EAAgB,EAAK,GAAG,GAAG;IAE5B;EAAC;EAAM;EAAc;EAAgB,CAAC,EAGzC,QAAgB;EACd,IAAM,KAAW,MAAkB;AACjC,GAAI,EAAI,WAAW,CAAC,EAAI,QAAQ,SAAS,EAAE,OAAe,IACxD,EAAQ,GAAM;;AAIlB,SADI,KAAM,SAAS,iBAAiB,aAAa,EAAQ,QAC5C,SAAS,oBAAoB,aAAa,EAAQ;IAC9D,CAAC,EAAK,CAAC;CAGV,IAAM,IADY,EAAK,MAAM,MAAM,EAAE,OAAO,EAAa,EAE5C,SACV,EAAK,WAAW,IACb,EAAG,uBAAuB,kBAAkB,GAC5C,EAAG,2BAA2B,aAAa,GAE3C,IAAgB,EAAe,GAAU,MAAM;AAErD,QACE,kBAAC,OAAD;EAAU;EAAK,WAAU;YAAzB,CACE,kBAAC,UAAD;GACE,MAAK;GACL,eAAe,GAAS,MAAM,CAAC,EAAE;GACjC,WAAW,EACT,wGACA,uEACD;GACD,cAAY,EAAG,2BAA2B,sBAAsB;aAPlE;IASE,kBAAC,GAAD;KAAW,MAAM;KAAI,WAAU;KAA+B,CAAA;IAC9D,kBAAC,QAAD;KAAM,WAAU;eAA0B;KAAa,CAAA;IACvD,kBAAC,GAAD;KACE,MAAM;KACN,WAAW,EAAG,wBAAwB,KAAQ,aAAa;KAC3D,CAAA;IACK;MAER,KACC,kBAAC,OAAD;GAAK,WAAU;aAAf;IACG,EAAK,KAAK,MACT,kBAAC,UAAD;KAEE,MAAK;KACL,eAAe;AAEb,MADA,EAAgB,EAAI,GAAG,EACvB,EAAQ,GAAM;;KAEhB,WAAW,EACT,gGACA,EAAI,OAAO,IACP,6BACA,oBACL;eAZH,CAcE,kBAAC,GAAD;MACE,MAAM;MACN,WAAW,EACT,iBACA,EAAI,OAAO,IACP,6BACA,YACL;MACD,CAAA,EACF,kBAAC,QAAD;MAAM,WAAU;gBAAY,EAAI;MAAY,CAAA,CACrC;OAvBF,EAAI,GAuBF,CACT;IACD,EAAK,SAAS,KACb,kBAAC,OAAD,EAAK,WAAU,sCAAuC,CAAA;IAExD,kBAAC,UAAD;KACE,MAAK;KACL,eAAe;AAEb,MADA,EAAQ,GAAM,EACd,IAAW,GAAG,KAAY,KAAK,IAAgB;;KAEjD,WAAU;eANZ,CAQE,kBAAC,GAAD;MAAM,MAAM;MAAI,WAAU;MAAkB,CAAA,EAC5C,kBAAC,QAAD;MAAM,WAAU;gBACb,EAAG,iCAAiC,mBAAmB;MACnD,CAAA,CACA;;IACL;KAEJ"}
|
|
1
|
+
{"version":3,"file":"SectionNav.js","names":["OrgSwitcher","useDevportal","isSeller","useIsSellerSection","currentOrgId","activePhysicalOrgId","activeOrgId","setCurrentOrgId","setActivePhysicalOrgId","setActiveOrgId","tr","useTr","open","setOpen","useState","ref","useRef","useGetMyOrganizationsQuery","orgs","data","org","useEffect","handler","label","o","createOrgPath","orgSectionPath","v","cn","Building2","ChevronDown","Check","navigate","basePath","Plus"],"sources":["../../../src/devportal/components/SectionNav.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { useLocation } from \"react-router\";\nimport {\n LayoutDashboard,\n AppWindow,\n Building2,\n Share2,\n DollarSign,\n BookOpen,\n Library,\n User,\n Settings,\n ChevronDown,\n Check,\n Plus,\n} from \"lucide-react\";\nimport { useDevportal } from \"../providers/DevportalProvider\";\nimport {\n useIsSellerSection,\n orgSectionPath,\n} from \"../hooks/useIsSellerSection\";\nimport {\n useGetMyOrganizationsQuery,\n type GetMyOrganizationsQuery,\n} from \"../hooks/useGraphQL\";\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\n\ntype OrgItem = GetMyOrganizationsQuery[\"myDeveloperOrganizations\"][number];\n\ninterface SectionDef {\n path: string;\n i18nKey: string;\n fallback: string;\n icon: typeof LayoutDashboard;\n /** Additional sub-paths that should mark this section as active. */\n matchPrefixes?: string[];\n}\n\nconst SECTIONS: ReadonlyArray<SectionDef> = [\n {\n path: \"\",\n i18nKey: \"devportal.nav.dashboard\",\n fallback: \"Dashboard\",\n icon: LayoutDashboard,\n },\n {\n path: \"apps\",\n i18nKey: \"devportal.nav.apps\",\n fallback: \"Apps\",\n icon: AppWindow,\n },\n {\n path: \"organizations\",\n i18nKey: \"devportal.nav.organizations\",\n fallback: \"Organizations\",\n icon: Building2,\n },\n {\n path: \"delegations\",\n i18nKey: \"devportal.nav.delegations\",\n fallback: \"Delegations\",\n icon: Share2,\n },\n {\n path: \"revenue\",\n i18nKey: \"devportal.nav.revenue\",\n fallback: \"Revenue\",\n icon: DollarSign,\n },\n {\n path: \"docs\",\n i18nKey: \"devportal.nav.docs\",\n fallback: \"Docs\",\n icon: BookOpen,\n },\n {\n path: \"resources\",\n i18nKey: \"devportal.nav.resources\",\n fallback: \"Resources\",\n icon: Library,\n },\n {\n path: \"publisher/profile\",\n i18nKey: \"devportal.nav.publisher\",\n fallback: \"Publisher\",\n icon: User,\n matchPrefixes: [\"publisher\"],\n },\n {\n path: \"settings\",\n i18nKey: \"devportal.nav.settings\",\n fallback: \"Settings\",\n icon: Settings,\n },\n];\n\nfunction joinBaseAndPath(basePath: string | undefined, path: string): string {\n const base = (basePath ?? \"\").replace(/\\/$/, \"\");\n if (!path) return base || \"/\";\n const suffix = path.startsWith(\"/\") ? path : `/${path}`;\n return `${base}${suffix}`;\n}\n\nfunction isSectionActive(\n pathname: string,\n basePath: string | undefined,\n section: SectionDef,\n): boolean {\n const sectionUrl = joinBaseAndPath(basePath, section.path);\n // Index/dashboard is active only when exactly matched (or with empty extra).\n if (section.path === \"\") {\n return pathname === sectionUrl || pathname === `${sectionUrl}/`;\n }\n const candidates = [section.path, ...(section.matchPrefixes ?? [])];\n return candidates.some((prefix) => {\n const url = joinBaseAndPath(basePath, prefix);\n return pathname === url || pathname.startsWith(`${url}/`);\n });\n}\n\n/**\n * Org context switcher — can be embedded standalone or inside SectionNav.\n *\n * Shared between the regular devportal and the seller portal: filters the\n * org list to PHYSICAL-kind orgs under /devportal/seller/** and DIGITAL-kind\n * everywhere else, and reads/writes the matching active-org slot\n * (activePhysicalOrgId vs activeOrgId) so this switcher and\n * useSellerOrganization (used by the item-creation flow) always agree on\n * which org is current. See DeveloperOrgKind (BOFF-7285).\n */\nexport const OrgSwitcher: FC = () => {\n const {\n activeOrgId,\n setActiveOrgId,\n activePhysicalOrgId,\n setActivePhysicalOrgId,\n navigate,\n basePath,\n } = useDevportal();\n const isSeller = useIsSellerSection();\n const currentOrgId = isSeller ? activePhysicalOrgId : activeOrgId;\n const setCurrentOrgId = isSeller ? setActivePhysicalOrgId : setActiveOrgId;\n const tr = useTr();\n const [open, setOpen] = useState(false);\n const ref = useRef<HTMLDivElement>(null);\n\n const { data } = useGetMyOrganizationsQuery({ fetchPolicy: \"cache-first\" });\n const allOrgs: OrgItem[] = data?.myDeveloperOrganizations ?? [];\n const orgs = allOrgs.filter((org) =>\n isSeller ? org.kind === \"PHYSICAL\" : org.kind !== \"PHYSICAL\",\n );\n\n // Auto-select when there's exactly one matching org and nothing is stored yet\n useEffect(() => {\n if (!currentOrgId && orgs.length === 1 && orgs[0]?.id) {\n setCurrentOrgId(orgs[0].id);\n }\n }, [orgs, currentOrgId, setCurrentOrgId]);\n\n // Close on outside click\n useEffect(() => {\n const handler = (e: MouseEvent) => {\n if (ref.current && !ref.current.contains(e.target as Node)) {\n setOpen(false);\n }\n };\n if (open) document.addEventListener(\"mousedown\", handler);\n return () => document.removeEventListener(\"mousedown\", handler);\n }, [open]);\n\n const activeOrg = orgs.find((o) => o.id === currentOrgId);\n const label =\n activeOrg?.name ??\n (orgs.length === 0\n ? tr(\"devportal.nav.noOrg\", \"No organization\")\n : tr(\"devportal.nav.selectOrg\", \"Select org\"));\n\n const createOrgPath = orgSectionPath(isSeller, \"new\");\n\n return (\n <div ref={ref} className=\"relative flex-shrink-0\">\n <button\n type=\"button\"\n onClick={() => setOpen((v) => !v)}\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-md border px-3 py-1.5 text-sm font-medium transition-colors\",\n \"bg-bg-surface text-text-primary border-border-subtle hover:bg-accent\",\n )}\n aria-label={tr(\"devportal.nav.switchOrg\", \"Switch organization\")}\n >\n <Building2 size={13} className=\"text-primary flex-shrink-0\" />\n <span className=\"max-w-[140px] truncate\">{label}</span>\n <ChevronDown\n size={13}\n className={cn(\"transition-transform\", open && \"rotate-180\")}\n />\n </button>\n\n {open && (\n <div className=\"absolute right-0 top-full z-50 mt-1 min-w-[200px] rounded-md border border-border-subtle bg-popover shadow-lg py-1\">\n {orgs.map((org) => (\n <button\n key={org.id}\n type=\"button\"\n onClick={() => {\n setCurrentOrgId(org.id);\n setOpen(false);\n }}\n className={cn(\n \"flex w-full items-center gap-2 px-3 py-2 text-sm text-left transition-colors hover:bg-accent\",\n org.id === currentOrgId\n ? \"text-primary font-medium\"\n : \"text-text-primary\",\n )}\n >\n <Check\n size={13}\n className={cn(\n \"flex-shrink-0\",\n org.id === currentOrgId\n ? \"opacity-100 text-primary\"\n : \"opacity-0\",\n )}\n />\n <span className=\"truncate\">{org.name}</span>\n </button>\n ))}\n {orgs.length > 0 && (\n <div className=\"my-1 border-t border-border-subtle\" />\n )}\n <button\n type=\"button\"\n onClick={() => {\n setOpen(false);\n navigate?.(`${basePath ?? \"\"}${createOrgPath}`);\n }}\n className=\"flex w-full items-center gap-2 px-3 py-2 text-sm text-left text-primary transition-colors hover:bg-accent\"\n >\n <Plus size={13} className=\"flex-shrink-0\" />\n <span className=\"truncate\">\n {tr(\"devportal.nav.newOrganization\", \"New organization\")}\n </span>\n </button>\n </div>\n )}\n </div>\n );\n};\n\n/**\n * Horizontal section nav rendered above the page content on every devportal\n * route. Gives developers a one-click jump between all top-level sections so\n * routes like OAuth, Delegations, Analytics, Revenue, Docs, Resources,\n * Publisher Profile, and Settings are reachable without typing URLs.\n *\n * Renders nothing when `basePath` is undefined (standalone/dev mode) so it\n * doesn't conflict with whatever harness wraps the MFE there.\n */\nexport const SectionNav: FC = () => {\n const { navigate, basePath } = useDevportal();\n const { pathname } = useLocation();\n const tr = useTr();\n\n if (!basePath || !navigate) return null;\n\n const handleClick = (path: string) => {\n navigate(joinBaseAndPath(basePath, path));\n };\n\n return (\n <nav\n aria-label={tr(\"devportal.nav.sections\", \"Developer portal sections\")}\n className=\"border-b border-border-subtle bg-bg-surface/40 px-4 py-2\"\n data-testid=\"devportal-section-nav\"\n >\n <div className=\"flex items-center gap-2\">\n <ul className=\"flex flex-1 flex-wrap gap-1\">\n {SECTIONS.map((section) => {\n const active = isSectionActive(pathname, basePath, section);\n const Icon = section.icon;\n return (\n <li key={section.path}>\n <button\n type=\"button\"\n onClick={() => handleClick(section.path)}\n aria-current={active ? \"page\" : undefined}\n className={cn(\n \"inline-flex items-center gap-1.5 rounded-md px-3 py-1.5 text-sm font-medium transition-colors\",\n active\n ? \"bg-action-primary-bg text-action-primary-text\"\n : \"text-text-secondary hover:bg-accent hover:text-text-primary\",\n )}\n >\n <Icon size={14} />\n <span>{tr(section.i18nKey, section.fallback)}</span>\n </button>\n </li>\n );\n })}\n </ul>\n <OrgSwitcher />\n </div>\n </nav>\n );\n};\n\n// Exported for unit tests that want to assert against the canonical list.\nexport const __SECTION_NAV_SECTIONS = SECTIONS;\n"],"mappings":";;;;;;;;;;;AAoIA,IAAaA,UAAwB;CACnC,IAAM,EACJ,gBACA,mBACA,wBACA,2BACA,aACA,gBACEC,EAAa,GACXC,IAAWC,EAAmB,GAC9BC,IAAeF,IAAWG,IAAsBC,GAChDC,IAAkBL,IAAWM,IAAyBC,GACtDC,IAAKC,EAAM,GACX,CAACC,GAAMC,KAAWC,EAAS,EAAK,GAChCC,IAAMC,EAAuB,IAAI,GAEjC,EAAE,YAASC,EAA2B,EAAE,aAAa,cAAc,CAAC,GAEpEC,KADqBC,GAAM,4BAA4B,CAAC,EAAA,CACzC,QAAQ,MAC3BjB,IAAWkB,EAAI,SAAS,aAAaA,EAAI,SAAS,UACpD;CAUA,AAPAC,QAAgB;EACd,AAAI,CAACjB,KAAgBc,EAAK,WAAW,KAAKA,EAAK,EAAE,EAAE,MACjDX,EAAgBW,EAAK,EAAE,CAAC,EAAE;CAE9B,GAAG;EAACA;EAAMd;EAAcG;CAAe,CAAC,GAGxCc,QAAgB;EACd,IAAMC,KAAW,MAAkB;GACjC,AAAIP,EAAI,WAAW,CAACA,EAAI,QAAQ,SAAS,EAAE,MAAc,KACvDF,EAAQ,EAAK;EAEjB;EAEA,OADID,KAAM,SAAS,iBAAiB,aAAaU,CAAO,SAC3C,SAAS,oBAAoB,aAAaA,CAAO;CAChE,GAAG,CAACV,CAAI,CAAC;CAGT,IAAMW,IADYL,EAAK,MAAM,MAAMM,EAAE,OAAOpB,CAE1C,CAAA,EAAW,SACVc,EAAK,WAAW,IACbR,EAAG,uBAAuB,iBAAiB,IAC3CA,EAAG,2BAA2B,YAAY,IAE1Ce,IAAgBC,EAAexB,GAAU,KAAK;CAEpD,OACE,kBAAC,OAAD;EAAU;EAAK,WAAU;EAAzB,UAAA,CACE,kBAAC,UAAD;GACE,MAAK;GACL,eAAeW,GAAS,MAAM,CAACc,CAAC;GAChC,WAAWC,EACT,wGACA,sEACF;GACA,cAAYlB,EAAG,2BAA2B,qBAAqB;GAPjE,UAAA;IASE,kBAACmB,GAAD;KAAW,MAAM;KAAI,WAAU;IAA8B,CAAA;IAC7D,kBAAC,QAAD;KAAM,WAAU;KAA0B,UAAAN;IAAY,CAAA;IACtD,kBAACO,GAAD;KACE,MAAM;KACN,WAAWF,EAAG,wBAAwBhB,KAAQ,YAAY;IAC3D,CAAA;GACK;EAEP,CAAA,GAAAA,KACC,kBAAC,OAAD;GAAK,WAAU;GAAf,UAAA;IACGM,EAAK,KAAK,MACT,kBAAC,UAAD;KAEE,MAAK;KACL,eAAe;MAEb,AADAX,EAAgBa,EAAI,EAAE,GACtBP,EAAQ,EAAK;KACf;KACA,WAAWe,EACT,gGACAR,EAAI,OAAOhB,IACP,6BACA,mBACN;KAZF,UAAA,CAcE,kBAAC2B,GAAD;MACE,MAAM;MACN,WAAWH,EACT,iBACAR,EAAI,OAAOhB,IACP,6BACA,WACN;KACD,CAAA,GACD,kBAAC,QAAD;MAAM,WAAU;MAAY,UAAAgB,EAAI;KAAW,CAAA,CACrC;IAvBD,GAAAA,EAAI,EAuBH,CACT;IACAF,EAAK,SAAS,KACb,kBAAC,OAAD,EAAK,WAAU,qCAAsC,CAAA;IAEvD,kBAAC,UAAD;KACE,MAAK;KACL,eAAe;MAEb,AADAL,EAAQ,EAAK,GACbmB,IAAW,GAAGC,KAAY,KAAKR,GAAe;KAChD;KACA,WAAU;KANZ,UAAA,CAQE,kBAACS,GAAD;MAAM,MAAM;MAAI,WAAU;KAAiB,CAAA,GAC3C,kBAAC,QAAD;MAAM,WAAU;MACb,UAAAxB,EAAG,iCAAiC,kBAAkB;KACnD,CAAA,CACA;;GACL;EAEJ,CAAA,CAAA;;AAET"}
|
|
@@ -6,6 +6,5 @@ interface SelectionCheckboxProps {
|
|
|
6
6
|
ariaLabel: string;
|
|
7
7
|
className?: string;
|
|
8
8
|
}
|
|
9
|
-
export declare function SelectionCheckbox({ checked, indeterminate, disabled, onChange, ariaLabel, className, }: SelectionCheckboxProps): import(
|
|
9
|
+
export declare function SelectionCheckbox({ checked, indeterminate, disabled, onChange, ariaLabel, className, }: SelectionCheckboxProps): import('react').JSX.Element;
|
|
10
10
|
export {};
|
|
11
|
-
//# sourceMappingURL=SelectionCheckbox.d.ts.map
|
|
@@ -2,7 +2,7 @@ import { cn as e } from "../utils/cn.js";
|
|
|
2
2
|
import { useEffect as t, useRef as n } from "react";
|
|
3
3
|
import { Check as r } from "lucide-react";
|
|
4
4
|
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
5
|
-
|
|
5
|
+
// src/devportal/components/SelectionCheckbox.tsx
|
|
6
6
|
function o({ checked: o, indeterminate: s = !1, disabled: c = !1, onChange: l, ariaLabel: u, className: d }) {
|
|
7
7
|
let f = n(null);
|
|
8
8
|
return t(() => {
|
|
@@ -20,7 +20,6 @@ function o({ checked: o, indeterminate: s = !1, disabled: c = !1, onChange: l, a
|
|
|
20
20
|
}), (o || s) && /* @__PURE__ */ i(r, { className: e("h-3.5 w-3.5", s && "opacity-70") })]
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
|
-
//#endregion
|
|
24
23
|
export { o as SelectionCheckbox };
|
|
25
24
|
|
|
26
25
|
//# sourceMappingURL=SelectionCheckbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectionCheckbox.js","names":[],"sources":["../../../src/devportal/components/SelectionCheckbox.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { Check } from \"lucide-react\";\nimport { cn } from \"../utils/cn\";\n\ninterface SelectionCheckboxProps {\n checked: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n onChange: (checked: boolean) => void;\n ariaLabel: string;\n className?: string;\n}\n\nexport function SelectionCheckbox({\n checked,\n indeterminate = false,\n disabled = false,\n onChange,\n ariaLabel,\n className,\n}: SelectionCheckboxProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate && !checked;\n }\n }, [checked, indeterminate]);\n\n return (\n <label\n className={cn(\n \"inline-flex h-5 w-5 cursor-pointer items-center justify-center rounded border border-border-primary bg-bg-surface transition-colors\",\n checked &&\n \"border-primary bg-action-primary-bg text-action-primary-text\",\n disabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n >\n <input\n ref={inputRef}\n type=\"checkbox\"\n checked={checked}\n disabled={disabled}\n aria-label={ariaLabel}\n onChange={(event) => onChange(event.target.checked)}\n className=\"sr-only\"\n />\n {(checked || indeterminate) && (\n <Check className={cn(\"h-3.5 w-3.5\", indeterminate && \"opacity-70\")} />\n )}\n </label>\n );\n}\n"],"mappings":";;;;;AAaA,
|
|
1
|
+
{"version":3,"file":"SelectionCheckbox.js","names":["SelectionCheckbox","inputRef","useRef","useEffect","indeterminate","checked","cn","disabled","className","ariaLabel","onChange","event","Check"],"sources":["../../../src/devportal/components/SelectionCheckbox.tsx"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { Check } from \"lucide-react\";\nimport { cn } from \"../utils/cn\";\n\ninterface SelectionCheckboxProps {\n checked: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n onChange: (checked: boolean) => void;\n ariaLabel: string;\n className?: string;\n}\n\nexport function SelectionCheckbox({\n checked,\n indeterminate = false,\n disabled = false,\n onChange,\n ariaLabel,\n className,\n}: SelectionCheckboxProps) {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.indeterminate = indeterminate && !checked;\n }\n }, [checked, indeterminate]);\n\n return (\n <label\n className={cn(\n \"inline-flex h-5 w-5 cursor-pointer items-center justify-center rounded border border-border-primary bg-bg-surface transition-colors\",\n checked &&\n \"border-primary bg-action-primary-bg text-action-primary-text\",\n disabled && \"cursor-not-allowed opacity-50\",\n className,\n )}\n >\n <input\n ref={inputRef}\n type=\"checkbox\"\n checked={checked}\n disabled={disabled}\n aria-label={ariaLabel}\n onChange={(event) => onChange(event.target.checked)}\n className=\"sr-only\"\n />\n {(checked || indeterminate) && (\n <Check className={cn(\"h-3.5 w-3.5\", indeterminate && \"opacity-70\")} />\n )}\n </label>\n );\n}\n"],"mappings":";;;;;AAaA,SAAgBA,EAAkB,EAChC,YACA,mBAAgB,IAChB,cAAW,IACX,aACA,cACA,gBACyB;CACzB,IAAMC,IAAWC,EAAyB,IAAI;CAQ9C,OANAC,QAAgB;EACd,AAAIF,EAAS,YACX,EAAS,QAAQ,gBAAgBG,KAAiB,CAACC;CAEvD,GAAG,CAACA,GAASD,CAAa,CAAC,GAGzB,kBAAC,SAAD;EACE,WAAWE,EACT,uIACAD,KACE,gEACFE,KAAY,iCACZC,CACF;EAPF,UAAA,CASE,kBAAC,SAAD;GACE,KAAKP;GACL,MAAK;GACI;GACC;GACV,cAAYQ;GACZ,WAAW,MAAUC,EAASC,EAAM,OAAO,OAAO;GAClD,WAAU;EACX,CAAA,IACCN,KAAWD,MACX,kBAACQ,GAAD,EAAO,WAAWN,EAAG,eAAeF,KAAiB,YAAY,EAAI,CAAA,CAElE;;AAEX"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { FC, ReactNode } from 'react';
|
|
2
|
-
|
|
3
2
|
interface StatCardProps {
|
|
4
3
|
title: string;
|
|
5
4
|
value: string | number | ReactNode;
|
|
@@ -29,4 +28,3 @@ export declare const StatCardGrid: FC<{
|
|
|
29
28
|
className?: string;
|
|
30
29
|
}>;
|
|
31
30
|
export {};
|
|
32
|
-
//# sourceMappingURL=StatCard.d.ts.map
|
|
@@ -2,7 +2,7 @@ import { cn as e } from "../utils/cn.js";
|
|
|
2
2
|
import { Minus as t, TrendingDown as n, TrendingUp as r } from "lucide-react";
|
|
3
3
|
import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
4
4
|
import { GlassCard as o } from "@burdenoff/fe-libs/ui";
|
|
5
|
-
|
|
5
|
+
// src/devportal/components/StatCard.tsx
|
|
6
6
|
var s = ({ title: s, value: c, description: l, icon: u, trend: d, featured: f = !1, className: p }) => /* @__PURE__ */ a(o, {
|
|
7
7
|
treatment: f ? "glass" : "metric",
|
|
8
8
|
glow: f,
|
|
@@ -51,7 +51,6 @@ var s = ({ title: s, value: c, description: l, icon: u, trend: d, featured: f =
|
|
|
51
51
|
}[n], r),
|
|
52
52
|
children: t
|
|
53
53
|
});
|
|
54
|
-
//#endregion
|
|
55
54
|
export { s as StatCard, c as StatCardGrid };
|
|
56
55
|
|
|
57
56
|
//# sourceMappingURL=StatCard.js.map
|