@burdenoff/microfe-devportal 2026.1108.1 → 2026.1109.1

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.
Files changed (1408) hide show
  1. package/dist/__tests__/utils/renderWithProviders.d.ts +0 -2
  2. package/dist/_virtual/_rolldown/runtime.js +4 -5
  3. package/dist/dev/main.d.ts +0 -1
  4. package/dist/devportal/AdminDevportalRoot.d.ts +0 -2
  5. package/dist/devportal/AdminDevportalRoot.js +9 -6
  6. package/dist/devportal/AdminDevportalRoot.js.map +1 -1
  7. package/dist/devportal/AdminDevportalRoutes.d.ts +1 -2
  8. package/dist/devportal/AdminDevportalRoutes.js +1 -2
  9. package/dist/devportal/AdminDevportalRoutes.js.map +1 -1
  10. package/dist/devportal/DevportalRoot.d.ts +0 -2
  11. package/dist/devportal/DevportalRoot.js +75 -65
  12. package/dist/devportal/DevportalRoot.js.map +1 -1
  13. package/dist/devportal/DevportalRoutes.d.ts +1 -2
  14. package/dist/devportal/DevportalRoutes.js +149 -143
  15. package/dist/devportal/DevportalRoutes.js.map +1 -1
  16. package/dist/devportal/components/AppCard.d.ts +0 -2
  17. package/dist/devportal/components/AppCard.js +21 -22
  18. package/dist/devportal/components/AppCard.js.map +1 -1
  19. package/dist/devportal/components/ConfirmDialog.d.ts +0 -2
  20. package/dist/devportal/components/ConfirmDialog.js +9 -10
  21. package/dist/devportal/components/ConfirmDialog.js.map +1 -1
  22. package/dist/devportal/components/DataTable.d.ts +1 -3
  23. package/dist/devportal/components/DataTable.js +20 -21
  24. package/dist/devportal/components/DataTable.js.map +1 -1
  25. package/dist/devportal/components/EmptyState.d.ts +0 -2
  26. package/dist/devportal/components/EmptyState.js +1 -2
  27. package/dist/devportal/components/EmptyState.js.map +1 -1
  28. package/dist/devportal/components/FeatureFlaggedRoute.d.ts +0 -2
  29. package/dist/devportal/components/FeatureFlaggedRoute.js +1 -2
  30. package/dist/devportal/components/FeatureFlaggedRoute.js.map +1 -1
  31. package/dist/devportal/components/FormField.d.ts +0 -2
  32. package/dist/devportal/components/FormField.js +23 -24
  33. package/dist/devportal/components/FormField.js.map +1 -1
  34. package/dist/devportal/components/GrantDelegationModal.d.ts +0 -2
  35. package/dist/devportal/components/GrantDelegationModal.js +1 -2
  36. package/dist/devportal/components/GrantDelegationModal.js.map +1 -1
  37. package/dist/devportal/components/ImageUploadField.d.ts +0 -2
  38. package/dist/devportal/components/ImageUploadField.js +1 -2
  39. package/dist/devportal/components/ImageUploadField.js.map +1 -1
  40. package/dist/devportal/components/LoadingState.d.ts +0 -2
  41. package/dist/devportal/components/LoadingState.js +6 -7
  42. package/dist/devportal/components/LoadingState.js.map +1 -1
  43. package/dist/devportal/components/ManifestViewer.d.ts +0 -2
  44. package/dist/devportal/components/ManifestViewer.js +1 -2
  45. package/dist/devportal/components/ManifestViewer.js.map +1 -1
  46. package/dist/devportal/components/MarkdownEditor.d.ts +0 -2
  47. package/dist/devportal/components/MarkdownEditor.js +1 -2
  48. package/dist/devportal/components/MarkdownEditor.js.map +1 -1
  49. package/dist/devportal/components/MultiSelectCombobox.d.ts +1 -2
  50. package/dist/devportal/components/MultiSelectCombobox.js +1 -2
  51. package/dist/devportal/components/MultiSelectCombobox.js.map +1 -1
  52. package/dist/devportal/components/NodeSmokePanel.d.ts +0 -2
  53. package/dist/devportal/components/NodeSmokePanel.js +17 -18
  54. package/dist/devportal/components/NodeSmokePanel.js.map +1 -1
  55. package/dist/devportal/components/OnboardingChecklist.d.ts +0 -2
  56. package/dist/devportal/components/OnboardingChecklist.js +15 -16
  57. package/dist/devportal/components/OnboardingChecklist.js.map +1 -1
  58. package/dist/devportal/components/PackageValidationPanel.d.ts +0 -2
  59. package/dist/devportal/components/PackageValidationPanel.js +12 -13
  60. package/dist/devportal/components/PackageValidationPanel.js.map +1 -1
  61. package/dist/devportal/components/PageLayout.d.ts +0 -2
  62. package/dist/devportal/components/PageLayout.js +16 -17
  63. package/dist/devportal/components/PageLayout.js.map +1 -1
  64. package/dist/devportal/components/PermissionGuard.d.ts +0 -2
  65. package/dist/devportal/components/PermissionGuard.js +5 -6
  66. package/dist/devportal/components/PermissionGuard.js.map +1 -1
  67. package/dist/devportal/components/RegisterPickupLocationModal.d.ts +0 -2
  68. package/dist/devportal/components/RegisterPickupLocationModal.js +13 -14
  69. package/dist/devportal/components/RegisterPickupLocationModal.js.map +1 -1
  70. package/dist/devportal/components/ReportOrderIssueModal.d.ts +0 -2
  71. package/dist/devportal/components/ReportOrderIssueModal.js +1 -2
  72. package/dist/devportal/components/ReportOrderIssueModal.js.map +1 -1
  73. package/dist/devportal/components/SecretDisplay.d.ts +0 -2
  74. package/dist/devportal/components/SecretDisplay.js +8 -9
  75. package/dist/devportal/components/SecretDisplay.js.map +1 -1
  76. package/dist/devportal/components/SectionNav.d.ts +0 -2
  77. package/dist/devportal/components/SectionNav.js +11 -12
  78. package/dist/devportal/components/SectionNav.js.map +1 -1
  79. package/dist/devportal/components/SelectionCheckbox.d.ts +1 -2
  80. package/dist/devportal/components/SelectionCheckbox.js +1 -2
  81. package/dist/devportal/components/SelectionCheckbox.js.map +1 -1
  82. package/dist/devportal/components/StatCard.d.ts +0 -2
  83. package/dist/devportal/components/StatCard.js +1 -2
  84. package/dist/devportal/components/StatCard.js.map +1 -1
  85. package/dist/devportal/components/StatusBadge.d.ts +0 -2
  86. package/dist/devportal/components/StatusBadge.js +18 -19
  87. package/dist/devportal/components/StatusBadge.js.map +1 -1
  88. package/dist/devportal/components/TelemetryErrorBoundary.d.ts +0 -2
  89. package/dist/devportal/components/TelemetryErrorBoundary.js +1 -2
  90. package/dist/devportal/components/TelemetryErrorBoundary.js.map +1 -1
  91. package/dist/devportal/components/index.d.ts +0 -1
  92. package/dist/devportal/components/index.js +22 -21
  93. package/dist/devportal/constants/appCategories.d.ts +0 -1
  94. package/dist/devportal/constants/appCategories.js +1 -2
  95. package/dist/devportal/constants/appCategories.js.map +1 -1
  96. package/dist/devportal/constants/developerLinks.d.ts +0 -1
  97. package/dist/devportal/constants/developerLinks.js +23 -23
  98. package/dist/devportal/constants/developerLinks.js.map +1 -1
  99. package/dist/devportal/constants/permissions.d.ts +0 -1
  100. package/dist/devportal/constants/permissions.js +1 -2
  101. package/dist/devportal/constants/permissions.js.map +1 -1
  102. package/dist/devportal/events/index.d.ts +0 -1
  103. package/dist/devportal/events/index.js +1 -2
  104. package/dist/devportal/events/index.js.map +1 -1
  105. package/dist/devportal/hooks/DevPortalProvider.d.ts +1 -3
  106. package/dist/devportal/hooks/DevPortalProvider.js +2 -3
  107. package/dist/devportal/hooks/DevPortalProvider.js.map +1 -1
  108. package/dist/devportal/hooks/index.d.ts +0 -1
  109. package/dist/devportal/hooks/index.js +6 -5
  110. package/dist/devportal/hooks/useCarrierPickupLocations.d.ts +0 -1
  111. package/dist/devportal/hooks/useCarrierPickupLocations.js +1 -2
  112. package/dist/devportal/hooks/useCarrierPickupLocations.js.map +1 -1
  113. package/dist/devportal/hooks/useGraphQL.d.ts +0 -2
  114. package/dist/devportal/hooks/useGraphQL.js +42 -53
  115. package/dist/devportal/hooks/useGraphQL.js.map +1 -1
  116. package/dist/devportal/hooks/useIsSellerSection.d.ts +0 -1
  117. package/dist/devportal/hooks/useIsSellerSection.js +1 -2
  118. package/dist/devportal/hooks/useIsSellerSection.js.map +1 -1
  119. package/dist/devportal/hooks/useOrganizationPickupAddresses.d.ts +0 -1
  120. package/dist/devportal/hooks/useOrganizationPickupAddresses.js +3 -8
  121. package/dist/devportal/hooks/useOrganizationPickupAddresses.js.map +1 -1
  122. package/dist/devportal/hooks/usePackageUpload.d.ts +0 -1
  123. package/dist/devportal/hooks/usePackageUpload.js +4 -4
  124. package/dist/devportal/hooks/usePackageUpload.js.map +1 -1
  125. package/dist/devportal/hooks/usePermission.d.ts +0 -2
  126. package/dist/devportal/hooks/usePermission.js +2 -3
  127. package/dist/devportal/hooks/usePermission.js.map +1 -1
  128. package/dist/devportal/hooks/useProducts.d.ts +0 -1
  129. package/dist/devportal/hooks/useProducts.js +1 -2
  130. package/dist/devportal/hooks/useProducts.js.map +1 -1
  131. package/dist/devportal/hooks/useSellerOrganization.d.ts +0 -1
  132. package/dist/devportal/hooks/useSellerOrganization.js +1 -2
  133. package/dist/devportal/hooks/useSellerOrganization.js.map +1 -1
  134. package/dist/devportal/index.d.ts +0 -1
  135. package/dist/devportal/index.js +13 -12
  136. package/dist/devportal/pages/AdminOrganizationVerificationPage.d.ts +0 -2
  137. package/dist/devportal/pages/AdminOrganizationVerificationPage.js +13 -13
  138. package/dist/devportal/pages/AdminOrganizationVerificationPage.js.map +1 -1
  139. package/dist/devportal/pages/AdminReviewPage.d.ts +0 -2
  140. package/dist/devportal/pages/AdminReviewPage.js +134 -135
  141. package/dist/devportal/pages/AdminReviewPage.js.map +1 -1
  142. package/dist/devportal/pages/AnalyticsDashboardPage.d.ts +0 -2
  143. package/dist/devportal/pages/AnalyticsDashboardPage.js +66 -67
  144. package/dist/devportal/pages/AnalyticsDashboardPage.js.map +1 -1
  145. package/dist/devportal/pages/ApiKeysPage.d.ts +0 -2
  146. package/dist/devportal/pages/ApiKeysPage.js +127 -128
  147. package/dist/devportal/pages/ApiKeysPage.js.map +1 -1
  148. package/dist/devportal/pages/AppLogsPage.d.ts +0 -2
  149. package/dist/devportal/pages/AppLogsPage.js +18 -19
  150. package/dist/devportal/pages/AppLogsPage.js.map +1 -1
  151. package/dist/devportal/pages/ApplicationDetailPage.d.ts +0 -2
  152. package/dist/devportal/pages/ApplicationDetailPage.js +779 -778
  153. package/dist/devportal/pages/ApplicationDetailPage.js.map +1 -1
  154. package/dist/devportal/pages/ApplicationVersionsPage.d.ts +0 -2
  155. package/dist/devportal/pages/ApplicationVersionsPage.js +482 -483
  156. package/dist/devportal/pages/ApplicationVersionsPage.js.map +1 -1
  157. package/dist/devportal/pages/ApplicationsPage.d.ts +0 -2
  158. package/dist/devportal/pages/ApplicationsPage.js +35 -36
  159. package/dist/devportal/pages/ApplicationsPage.js.map +1 -1
  160. package/dist/devportal/pages/CreateApiKeyPage.d.ts +0 -2
  161. package/dist/devportal/pages/CreateApiKeyPage.js +39 -39
  162. package/dist/devportal/pages/CreateApiKeyPage.js.map +1 -1
  163. package/dist/devportal/pages/CreateApplicationPage.d.ts +0 -2
  164. package/dist/devportal/pages/CreateApplicationPage.js +136 -137
  165. package/dist/devportal/pages/CreateApplicationPage.js.map +1 -1
  166. package/dist/devportal/pages/CreateOAuthClientPage.d.ts +0 -2
  167. package/dist/devportal/pages/CreateOAuthClientPage.js +25 -24
  168. package/dist/devportal/pages/CreateOAuthClientPage.js.map +1 -1
  169. package/dist/devportal/pages/CreateOrganizationPage.d.ts +0 -2
  170. package/dist/devportal/pages/CreateOrganizationPage.js +32 -39
  171. package/dist/devportal/pages/CreateOrganizationPage.js.map +1 -1
  172. package/dist/devportal/pages/CreatePhysicalItemPage.d.ts +0 -2
  173. package/dist/devportal/pages/CreatePhysicalItemPage.js +102 -103
  174. package/dist/devportal/pages/CreatePhysicalItemPage.js.map +1 -1
  175. package/dist/devportal/pages/CreateWebhookPage.d.ts +0 -2
  176. package/dist/devportal/pages/CreateWebhookPage.js +31 -32
  177. package/dist/devportal/pages/CreateWebhookPage.js.map +1 -1
  178. package/dist/devportal/pages/DashboardPage.d.ts +0 -2
  179. package/dist/devportal/pages/DashboardPage.js +21 -22
  180. package/dist/devportal/pages/DashboardPage.js.map +1 -1
  181. package/dist/devportal/pages/DelegationsPage.d.ts +0 -2
  182. package/dist/devportal/pages/DelegationsPage.js +83 -84
  183. package/dist/devportal/pages/DelegationsPage.js.map +1 -1
  184. package/dist/devportal/pages/DocumentationPage.d.ts +0 -2
  185. package/dist/devportal/pages/DocumentationPage.js +1 -2
  186. package/dist/devportal/pages/DocumentationPage.js.map +1 -1
  187. package/dist/devportal/pages/EditApplicationPage.d.ts +0 -2
  188. package/dist/devportal/pages/EditApplicationPage.js +69 -70
  189. package/dist/devportal/pages/EditApplicationPage.js.map +1 -1
  190. package/dist/devportal/pages/EditPhysicalItemPage.d.ts +0 -2
  191. package/dist/devportal/pages/EditPhysicalItemPage.js +334 -335
  192. package/dist/devportal/pages/EditPhysicalItemPage.js.map +1 -1
  193. package/dist/devportal/pages/InvitationDecisionPage.d.ts +0 -2
  194. package/dist/devportal/pages/InvitationDecisionPage.js +16 -17
  195. package/dist/devportal/pages/InvitationDecisionPage.js.map +1 -1
  196. package/dist/devportal/pages/ListingPreviewPage.d.ts +0 -2
  197. package/dist/devportal/pages/ListingPreviewPage.js +14 -15
  198. package/dist/devportal/pages/ListingPreviewPage.js.map +1 -1
  199. package/dist/devportal/pages/NodeLifecyclePage.d.ts +0 -2
  200. package/dist/devportal/pages/NodeLifecyclePage.js +216 -221
  201. package/dist/devportal/pages/NodeLifecyclePage.js.map +1 -1
  202. package/dist/devportal/pages/OAuthCallbackPage.d.ts +0 -2
  203. package/dist/devportal/pages/OAuthCallbackPage.js +4 -5
  204. package/dist/devportal/pages/OAuthCallbackPage.js.map +1 -1
  205. package/dist/devportal/pages/OAuthClientDetailPage.d.ts +0 -2
  206. package/dist/devportal/pages/OAuthClientDetailPage.js +17 -16
  207. package/dist/devportal/pages/OAuthClientDetailPage.js.map +1 -1
  208. package/dist/devportal/pages/OAuthClientsPage.d.ts +0 -2
  209. package/dist/devportal/pages/OAuthClientsPage.js +18 -19
  210. package/dist/devportal/pages/OAuthClientsPage.js.map +1 -1
  211. package/dist/devportal/pages/OrganizationDetailPage.d.ts +0 -2
  212. package/dist/devportal/pages/OrganizationDetailPage.js +444 -450
  213. package/dist/devportal/pages/OrganizationDetailPage.js.map +1 -1
  214. package/dist/devportal/pages/OrganizationMembersPage.d.ts +0 -2
  215. package/dist/devportal/pages/OrganizationMembersPage.js +240 -241
  216. package/dist/devportal/pages/OrganizationMembersPage.js.map +1 -1
  217. package/dist/devportal/pages/OrganizationsPage.d.ts +0 -2
  218. package/dist/devportal/pages/OrganizationsPage.js +34 -35
  219. package/dist/devportal/pages/OrganizationsPage.js.map +1 -1
  220. package/dist/devportal/pages/PublishPage.d.ts +0 -2
  221. package/dist/devportal/pages/PublishPage.js +90 -91
  222. package/dist/devportal/pages/PublishPage.js.map +1 -1
  223. package/dist/devportal/pages/PublisherPayoutsPage.d.ts +0 -2
  224. package/dist/devportal/pages/PublisherPayoutsPage.js +251 -258
  225. package/dist/devportal/pages/PublisherPayoutsPage.js.map +1 -1
  226. package/dist/devportal/pages/PublisherProfilePage.d.ts +0 -2
  227. package/dist/devportal/pages/PublisherProfilePage.js +26 -27
  228. package/dist/devportal/pages/PublisherProfilePage.js.map +1 -1
  229. package/dist/devportal/pages/ResourcesPage.d.ts +0 -2
  230. package/dist/devportal/pages/ResourcesPage.js +17 -18
  231. package/dist/devportal/pages/ResourcesPage.js.map +1 -1
  232. package/dist/devportal/pages/RevenueDashboardPage.d.ts +0 -2
  233. package/dist/devportal/pages/RevenueDashboardPage.js +308 -308
  234. package/dist/devportal/pages/RevenueDashboardPage.js.map +1 -1
  235. package/dist/devportal/pages/RevenueRedirectPage.d.ts +0 -2
  236. package/dist/devportal/pages/SellerDashboardPage.d.ts +0 -2
  237. package/dist/devportal/pages/SellerDashboardPage.js +14 -15
  238. package/dist/devportal/pages/SellerDashboardPage.js.map +1 -1
  239. package/dist/devportal/pages/SellerItemsPage.d.ts +0 -2
  240. package/dist/devportal/pages/SellerItemsPage.js +8 -9
  241. package/dist/devportal/pages/SellerItemsPage.js.map +1 -1
  242. package/dist/devportal/pages/SellerOrdersPage.d.ts +0 -2
  243. package/dist/devportal/pages/SellerOrdersPage.js +10 -14
  244. package/dist/devportal/pages/SellerOrdersPage.js.map +1 -1
  245. package/dist/devportal/pages/SettingsPage.d.ts +0 -2
  246. package/dist/devportal/pages/SettingsPage.js +20 -21
  247. package/dist/devportal/pages/SettingsPage.js.map +1 -1
  248. package/dist/devportal/pages/SetupPage.d.ts +0 -2
  249. package/dist/devportal/pages/SetupPage.js +276 -277
  250. package/dist/devportal/pages/SetupPage.js.map +1 -1
  251. package/dist/devportal/pages/StoreSubmissionPage.d.ts +0 -2
  252. package/dist/devportal/pages/StoreSubmissionPage.js +4 -5
  253. package/dist/devportal/pages/StoreSubmissionPage.js.map +1 -1
  254. package/dist/devportal/pages/TimeCampusAppletsPage.d.ts +2 -0
  255. package/dist/devportal/pages/TimeCampusAppletsPage.js +490 -0
  256. package/dist/devportal/pages/TimeCampusAppletsPage.js.map +1 -0
  257. package/dist/devportal/pages/WebhookDetailPage.d.ts +0 -2
  258. package/dist/devportal/pages/WebhookDetailPage.js +62 -67
  259. package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
  260. package/dist/devportal/pages/WebhooksPage.d.ts +0 -2
  261. package/dist/devportal/pages/WebhooksPage.js +130 -131
  262. package/dist/devportal/pages/WebhooksPage.js.map +1 -1
  263. package/dist/devportal/providers/DevportalProvider.d.ts +0 -2
  264. package/dist/devportal/providers/DevportalProvider.js +2 -3
  265. package/dist/devportal/providers/DevportalProvider.js.map +1 -1
  266. package/dist/devportal/store/devportalStore.d.ts +0 -2
  267. package/dist/devportal/store/devportalStore.js +1 -2
  268. package/dist/devportal/store/devportalStore.js.map +1 -1
  269. package/dist/devportal/types/index.d.ts +0 -2
  270. package/dist/devportal/types/index.js +1 -2
  271. package/dist/devportal/types/index.js.map +1 -1
  272. package/dist/devportal/utils/cn.d.ts +0 -2
  273. package/dist/devportal/utils/cn.js +2 -3
  274. package/dist/devportal/utils/cn.js.map +1 -1
  275. package/dist/devportal/utils/constants.d.ts +0 -1
  276. package/dist/devportal/utils/constants.js +6 -3
  277. package/dist/devportal/utils/constants.js.map +1 -1
  278. package/dist/devportal/utils/currency.d.ts +0 -1
  279. package/dist/devportal/utils/currency.js +1 -2
  280. package/dist/devportal/utils/currency.js.map +1 -1
  281. package/dist/devportal/utils/developerOnboarding.d.ts +0 -1
  282. package/dist/devportal/utils/developerOnboarding.js +4 -5
  283. package/dist/devportal/utils/developerOnboarding.js.map +1 -1
  284. package/dist/devportal/utils/graphqlEndpoint.d.ts +0 -1
  285. package/dist/devportal/utils/graphqlEndpoint.js +1 -2
  286. package/dist/devportal/utils/graphqlEndpoint.js.map +1 -1
  287. package/dist/devportal/utils/i18n.d.ts +0 -1
  288. package/dist/devportal/utils/i18n.js +1 -2
  289. package/dist/devportal/utils/i18n.js.map +1 -1
  290. package/dist/devportal/utils/nodeLifecycle.d.ts +0 -2
  291. package/dist/devportal/utils/nodeLifecycle.js +6 -7
  292. package/dist/devportal/utils/nodeLifecycle.js.map +1 -1
  293. package/dist/devportal/utils/publisherPayouts.d.ts +0 -1
  294. package/dist/devportal/utils/publisherPayouts.js +14 -15
  295. package/dist/devportal/utils/publisherPayouts.js.map +1 -1
  296. package/dist/devportal/utils/recaptcha.d.ts +0 -1
  297. package/dist/devportal/utils/recaptcha.js +1 -2
  298. package/dist/devportal/utils/recaptcha.js.map +1 -1
  299. package/dist/devportal/utils/submitForReview.d.ts +0 -1
  300. package/dist/devportal/utils/submitForReview.js +15 -14
  301. package/dist/devportal/utils/submitForReview.js.map +1 -1
  302. package/dist/devportal/utils/timecampusApplets.d.ts +98 -0
  303. package/dist/devportal/utils/timecampusApplets.js +130 -0
  304. package/dist/devportal/utils/timecampusApplets.js.map +1 -0
  305. package/dist/devportal/utils/uploadErrors.d.ts +0 -1
  306. package/dist/devportal/utils/uploadErrors.js +30 -30
  307. package/dist/devportal/utils/uploadErrors.js.map +1 -1
  308. package/dist/generated/global-operations.d.ts +2399 -2423
  309. package/dist/generated/global-operations.js +6 -5
  310. package/dist/generated/global-operations.js.map +1 -1
  311. package/dist/generated/global-types.d.ts +3881 -660
  312. package/dist/generated/global-types.js +1 -2
  313. package/dist/generated/global-types.js.map +1 -1
  314. package/dist/generated/wspace-operations.d.ts +707 -8
  315. package/dist/generated/wspace-operations.js +204 -6
  316. package/dist/generated/wspace-operations.js.map +1 -1
  317. package/dist/generated/wspace-types.d.ts +166630 -35166
  318. package/dist/index.d.ts +0 -1
  319. package/dist/index.js +1 -1
  320. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +1 -2
  321. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -1
  322. package/dist/node_modules/@apollo/client/errors/ServerError.js +1 -2
  323. package/dist/node_modules/@apollo/client/errors/ServerError.js.map +1 -1
  324. package/dist/node_modules/@apollo/client/errors/utils.js +1 -2
  325. package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -1
  326. package/dist/node_modules/@apollo/client/link/core/ApolloLink.js +7 -8
  327. package/dist/node_modules/@apollo/client/link/core/ApolloLink.js.map +1 -1
  328. package/dist/node_modules/@apollo/client/link/subscriptions/index.js +16 -17
  329. package/dist/node_modules/@apollo/client/link/subscriptions/index.js.map +1 -1
  330. package/dist/node_modules/@apollo/client/link/utils/createOperation.js +5 -6
  331. package/dist/node_modules/@apollo/client/link/utils/createOperation.js.map +1 -1
  332. package/dist/node_modules/@apollo/client/utilities/caching/sizes.js +0 -1
  333. package/dist/node_modules/@apollo/client/utilities/caching/sizes.js.map +1 -1
  334. package/dist/node_modules/@apollo/client/utilities/graphql/print.js +4 -5
  335. package/dist/node_modules/@apollo/client/utilities/graphql/print.js.map +1 -1
  336. package/dist/node_modules/@apollo/client/utilities/internal/caches.js +1 -2
  337. package/dist/node_modules/@apollo/client/utilities/internal/caches.js.map +1 -1
  338. package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js +1 -2
  339. package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js.map +1 -1
  340. package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js +2 -3
  341. package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js.map +1 -1
  342. package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +1 -2
  343. package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +1 -1
  344. package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js +1 -2
  345. package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js.map +1 -1
  346. package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js +1 -2
  347. package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js.map +1 -1
  348. package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js +1 -2
  349. package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js.map +1 -1
  350. package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js +1 -2
  351. package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js.map +1 -1
  352. package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js +1 -2
  353. package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js.map +1 -1
  354. package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js +1 -2
  355. package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js.map +1 -1
  356. package/dist/node_modules/@apollo/client/utilities/internal/memoize.js +1 -2
  357. package/dist/node_modules/@apollo/client/utilities/internal/memoize.js.map +1 -1
  358. package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js +1 -2
  359. package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js.map +1 -1
  360. package/dist/node_modules/@apollo/client/utilities/invariant/index.js +2 -3
  361. package/dist/node_modules/@apollo/client/utilities/invariant/index.js.map +1 -1
  362. package/dist/node_modules/@apollo/client/version.js +2 -3
  363. package/dist/node_modules/@apollo/client/version.js.map +1 -1
  364. package/dist/node_modules/@wry/caches/lib/weak.js +1 -2
  365. package/dist/node_modules/@wry/caches/lib/weak.js.map +1 -1
  366. package/dist/node_modules/@wry/trie/lib/index.js +2 -3
  367. package/dist/node_modules/@wry/trie/lib/index.js.map +1 -1
  368. package/dist/node_modules/clsx/dist/clsx.js +8 -7
  369. package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
  370. package/dist/node_modules/d3-array/dist/d3-array.js +204 -0
  371. package/dist/node_modules/d3-array/dist/d3-array.js.map +1 -0
  372. package/dist/node_modules/d3-color/dist/d3-color.js +388 -0
  373. package/dist/node_modules/d3-color/dist/d3-color.js.map +1 -0
  374. package/dist/node_modules/d3-format/dist/d3-format.js +186 -0
  375. package/dist/node_modules/d3-format/dist/d3-format.js.map +1 -0
  376. package/dist/node_modules/d3-interpolate/dist/d3-interpolate.js +185 -0
  377. package/dist/node_modules/d3-interpolate/dist/d3-interpolate.js.map +1 -0
  378. package/dist/node_modules/d3-path/{src/path.js → dist/d3-path.js} +39 -14
  379. package/dist/node_modules/d3-path/dist/d3-path.js.map +1 -0
  380. package/dist/node_modules/d3-scale/dist/d3-scale.js +622 -0
  381. package/dist/node_modules/d3-scale/dist/d3-scale.js.map +1 -0
  382. package/dist/node_modules/d3-shape/dist/d3-shape.js +901 -0
  383. package/dist/node_modules/d3-shape/dist/d3-shape.js.map +1 -0
  384. package/dist/node_modules/d3-time/dist/d3-time.js +241 -0
  385. package/dist/node_modules/d3-time/dist/d3-time.js.map +1 -0
  386. package/dist/node_modules/d3-time-format/{src/locale.js → dist/d3-time-format.js} +229 -174
  387. package/dist/node_modules/d3-time-format/dist/d3-time-format.js.map +1 -0
  388. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js +1 -2
  389. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  390. package/dist/node_modules/date-fns/_lib/defaultOptions.js +1 -2
  391. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  392. package/dist/node_modules/date-fns/_lib/format/formatters.js +29 -22
  393. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  394. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js +3 -4
  395. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  396. package/dist/node_modules/date-fns/_lib/format/longFormatters.js +2 -5
  397. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  398. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +2 -3
  399. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  400. package/dist/node_modules/date-fns/_lib/protectedTokens.js +1 -2
  401. package/dist/node_modules/date-fns/_lib/protectedTokens.js.map +1 -1
  402. package/dist/node_modules/date-fns/constants.js +5 -5
  403. package/dist/node_modules/date-fns/constants.js.map +1 -1
  404. package/dist/node_modules/date-fns/constructFrom.js +2 -3
  405. package/dist/node_modules/date-fns/constructFrom.js.map +1 -1
  406. package/dist/node_modules/date-fns/differenceInCalendarDays.js +2 -3
  407. package/dist/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
  408. package/dist/node_modules/date-fns/format.js +15 -16
  409. package/dist/node_modules/date-fns/format.js.map +1 -1
  410. package/dist/node_modules/date-fns/getDayOfYear.js +7 -8
  411. package/dist/node_modules/date-fns/getDayOfYear.js.map +1 -1
  412. package/dist/node_modules/date-fns/getISOWeek.js +8 -9
  413. package/dist/node_modules/date-fns/getISOWeek.js.map +1 -1
  414. package/dist/node_modules/date-fns/getISOWeekYear.js +8 -9
  415. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  416. package/dist/node_modules/date-fns/getWeek.js +8 -9
  417. package/dist/node_modules/date-fns/getWeek.js.map +1 -1
  418. package/dist/node_modules/date-fns/getWeekYear.js +9 -10
  419. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -1
  420. package/dist/node_modules/date-fns/isDate.js +2 -3
  421. package/dist/node_modules/date-fns/isDate.js.map +1 -1
  422. package/dist/node_modules/date-fns/isValid.js +6 -7
  423. package/dist/node_modules/date-fns/isValid.js.map +1 -1
  424. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +1 -2
  425. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  426. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +1 -2
  427. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  428. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +1 -2
  429. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  430. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +1 -2
  431. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  432. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +1 -2
  433. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  434. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js +0 -1
  435. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -1
  436. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +1 -2
  437. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -1
  438. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js +0 -1
  439. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  440. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js +0 -1
  441. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -1
  442. package/dist/node_modules/date-fns/locale/en-US.js +2 -3
  443. package/dist/node_modules/date-fns/locale/en-US.js.map +1 -1
  444. package/dist/node_modules/date-fns/startOfDay.js +2 -3
  445. package/dist/node_modules/date-fns/startOfDay.js.map +1 -1
  446. package/dist/node_modules/date-fns/startOfISOWeek.js +2 -3
  447. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  448. package/dist/node_modules/date-fns/startOfISOWeekYear.js +5 -6
  449. package/dist/node_modules/date-fns/startOfISOWeekYear.js.map +1 -1
  450. package/dist/node_modules/date-fns/startOfWeek.js +2 -3
  451. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -1
  452. package/dist/node_modules/date-fns/startOfWeekYear.js +6 -7
  453. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  454. package/dist/node_modules/date-fns/startOfYear.js +3 -4
  455. package/dist/node_modules/date-fns/startOfYear.js.map +1 -1
  456. package/dist/node_modules/date-fns/toDate.js +2 -3
  457. package/dist/node_modules/date-fns/toDate.js.map +1 -1
  458. package/dist/node_modules/decimal.js-light/decimal.js +33 -30
  459. package/dist/node_modules/decimal.js-light/decimal.js.map +1 -1
  460. package/dist/node_modules/eventemitter3/index.js +2 -3
  461. package/dist/node_modules/eventemitter3/index.js.map +1 -1
  462. package/dist/node_modules/fast-equals/dist/es/index.js +109 -79
  463. package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -1
  464. package/dist/node_modules/graphql-ws/dist/client.js +76 -69
  465. package/dist/node_modules/graphql-ws/dist/client.js.map +1 -1
  466. package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js +2 -3
  467. package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js.map +1 -1
  468. package/dist/node_modules/lodash/_DataView.js +4 -5
  469. package/dist/node_modules/lodash/_DataView.js.map +1 -1
  470. package/dist/node_modules/lodash/_Hash.js +1 -2
  471. package/dist/node_modules/lodash/_Hash.js.map +1 -1
  472. package/dist/node_modules/lodash/_ListCache.js +1 -2
  473. package/dist/node_modules/lodash/_ListCache.js.map +1 -1
  474. package/dist/node_modules/lodash/_Map.js +4 -5
  475. package/dist/node_modules/lodash/_Map.js.map +1 -1
  476. package/dist/node_modules/lodash/_MapCache.js +1 -2
  477. package/dist/node_modules/lodash/_MapCache.js.map +1 -1
  478. package/dist/node_modules/lodash/_Promise.js +4 -5
  479. package/dist/node_modules/lodash/_Promise.js.map +1 -1
  480. package/dist/node_modules/lodash/_Set.js +4 -5
  481. package/dist/node_modules/lodash/_Set.js.map +1 -1
  482. package/dist/node_modules/lodash/_SetCache.js +1 -2
  483. package/dist/node_modules/lodash/_SetCache.js.map +1 -1
  484. package/dist/node_modules/lodash/_Stack.js +3 -3
  485. package/dist/node_modules/lodash/_Stack.js.map +1 -1
  486. package/dist/node_modules/lodash/_Symbol.js +1 -2
  487. package/dist/node_modules/lodash/_Symbol.js.map +1 -1
  488. package/dist/node_modules/lodash/_Uint8Array.js +1 -2
  489. package/dist/node_modules/lodash/_Uint8Array.js.map +1 -1
  490. package/dist/node_modules/lodash/_WeakMap.js +4 -5
  491. package/dist/node_modules/lodash/_WeakMap.js.map +1 -1
  492. package/dist/node_modules/lodash/_apply.js +1 -2
  493. package/dist/node_modules/lodash/_apply.js.map +1 -1
  494. package/dist/node_modules/lodash/_arrayEvery.js +1 -2
  495. package/dist/node_modules/lodash/_arrayEvery.js.map +1 -1
  496. package/dist/node_modules/lodash/_arrayFilter.js +1 -2
  497. package/dist/node_modules/lodash/_arrayFilter.js.map +1 -1
  498. package/dist/node_modules/lodash/_arrayIncludes.js +1 -2
  499. package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -1
  500. package/dist/node_modules/lodash/_arrayIncludesWith.js +1 -2
  501. package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -1
  502. package/dist/node_modules/lodash/_arrayLikeKeys.js +5 -6
  503. package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -1
  504. package/dist/node_modules/lodash/_arrayMap.js +1 -2
  505. package/dist/node_modules/lodash/_arrayMap.js.map +1 -1
  506. package/dist/node_modules/lodash/_arrayPush.js +1 -2
  507. package/dist/node_modules/lodash/_arrayPush.js.map +1 -1
  508. package/dist/node_modules/lodash/_arraySome.js +1 -2
  509. package/dist/node_modules/lodash/_arraySome.js.map +1 -1
  510. package/dist/node_modules/lodash/_asciiToArray.js +1 -2
  511. package/dist/node_modules/lodash/_asciiToArray.js.map +1 -1
  512. package/dist/node_modules/lodash/_assocIndexOf.js +1 -2
  513. package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -1
  514. package/dist/node_modules/lodash/_baseAssignValue.js +1 -2
  515. package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -1
  516. package/dist/node_modules/lodash/_baseEach.js +1 -2
  517. package/dist/node_modules/lodash/_baseEach.js.map +1 -1
  518. package/dist/node_modules/lodash/_baseEvery.js +1 -2
  519. package/dist/node_modules/lodash/_baseEvery.js.map +1 -1
  520. package/dist/node_modules/lodash/_baseExtremum.js +1 -2
  521. package/dist/node_modules/lodash/_baseExtremum.js.map +1 -1
  522. package/dist/node_modules/lodash/_baseFindIndex.js +1 -2
  523. package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -1
  524. package/dist/node_modules/lodash/_baseFlatten.js +1 -2
  525. package/dist/node_modules/lodash/_baseFlatten.js.map +1 -1
  526. package/dist/node_modules/lodash/_baseFor.js +1 -2
  527. package/dist/node_modules/lodash/_baseFor.js.map +1 -1
  528. package/dist/node_modules/lodash/_baseForOwn.js +4 -5
  529. package/dist/node_modules/lodash/_baseForOwn.js.map +1 -1
  530. package/dist/node_modules/lodash/_baseGet.js +1 -2
  531. package/dist/node_modules/lodash/_baseGet.js.map +1 -1
  532. package/dist/node_modules/lodash/_baseGetAllKeys.js +4 -5
  533. package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -1
  534. package/dist/node_modules/lodash/_baseGetTag.js +1 -2
  535. package/dist/node_modules/lodash/_baseGetTag.js.map +1 -1
  536. package/dist/node_modules/lodash/_baseGt.js +1 -2
  537. package/dist/node_modules/lodash/_baseGt.js.map +1 -1
  538. package/dist/node_modules/lodash/_baseHasIn.js +1 -2
  539. package/dist/node_modules/lodash/_baseHasIn.js.map +1 -1
  540. package/dist/node_modules/lodash/_baseIndexOf.js +1 -2
  541. package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -1
  542. package/dist/node_modules/lodash/_baseIsArguments.js +1 -2
  543. package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -1
  544. package/dist/node_modules/lodash/_baseIsEqual.js +4 -5
  545. package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -1
  546. package/dist/node_modules/lodash/_baseIsEqualDeep.js +10 -11
  547. package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -1
  548. package/dist/node_modules/lodash/_baseIsMatch.js +1 -2
  549. package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -1
  550. package/dist/node_modules/lodash/_baseIsNaN.js +1 -2
  551. package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -1
  552. package/dist/node_modules/lodash/_baseIsNative.js +5 -6
  553. package/dist/node_modules/lodash/_baseIsNative.js.map +1 -1
  554. package/dist/node_modules/lodash/_baseIsTypedArray.js +4 -5
  555. package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -1
  556. package/dist/node_modules/lodash/_baseIteratee.js +6 -7
  557. package/dist/node_modules/lodash/_baseIteratee.js.map +1 -1
  558. package/dist/node_modules/lodash/_baseKeys.js +1 -2
  559. package/dist/node_modules/lodash/_baseKeys.js.map +1 -1
  560. package/dist/node_modules/lodash/_baseLt.js +1 -2
  561. package/dist/node_modules/lodash/_baseLt.js.map +1 -1
  562. package/dist/node_modules/lodash/_baseMap.js +4 -5
  563. package/dist/node_modules/lodash/_baseMap.js.map +1 -1
  564. package/dist/node_modules/lodash/_baseMatches.js +1 -2
  565. package/dist/node_modules/lodash/_baseMatches.js.map +1 -1
  566. package/dist/node_modules/lodash/_baseMatchesProperty.js +7 -8
  567. package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -1
  568. package/dist/node_modules/lodash/_baseOrderBy.js +11 -12
  569. package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -1
  570. package/dist/node_modules/lodash/_baseProperty.js +1 -2
  571. package/dist/node_modules/lodash/_baseProperty.js.map +1 -1
  572. package/dist/node_modules/lodash/_basePropertyDeep.js +1 -2
  573. package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -1
  574. package/dist/node_modules/lodash/_baseRange.js +1 -2
  575. package/dist/node_modules/lodash/_baseRange.js.map +1 -1
  576. package/dist/node_modules/lodash/_baseRest.js +1 -2
  577. package/dist/node_modules/lodash/_baseRest.js.map +1 -1
  578. package/dist/node_modules/lodash/_baseSetToString.js +5 -6
  579. package/dist/node_modules/lodash/_baseSetToString.js.map +1 -1
  580. package/dist/node_modules/lodash/_baseSlice.js +1 -2
  581. package/dist/node_modules/lodash/_baseSlice.js.map +1 -1
  582. package/dist/node_modules/lodash/_baseSome.js +1 -2
  583. package/dist/node_modules/lodash/_baseSome.js.map +1 -1
  584. package/dist/node_modules/lodash/_baseSortBy.js +1 -2
  585. package/dist/node_modules/lodash/_baseSortBy.js.map +1 -1
  586. package/dist/node_modules/lodash/_baseTimes.js +1 -2
  587. package/dist/node_modules/lodash/_baseTimes.js.map +1 -1
  588. package/dist/node_modules/lodash/_baseToString.js +6 -7
  589. package/dist/node_modules/lodash/_baseToString.js.map +1 -1
  590. package/dist/node_modules/lodash/_baseTrim.js +1 -2
  591. package/dist/node_modules/lodash/_baseTrim.js.map +1 -1
  592. package/dist/node_modules/lodash/_baseUnary.js +1 -2
  593. package/dist/node_modules/lodash/_baseUnary.js.map +1 -1
  594. package/dist/node_modules/lodash/_baseUniq.js +7 -8
  595. package/dist/node_modules/lodash/_baseUniq.js.map +1 -1
  596. package/dist/node_modules/lodash/_cacheHas.js +1 -2
  597. package/dist/node_modules/lodash/_cacheHas.js.map +1 -1
  598. package/dist/node_modules/lodash/_castPath.js +1 -2
  599. package/dist/node_modules/lodash/_castPath.js.map +1 -1
  600. package/dist/node_modules/lodash/_castSlice.js +1 -2
  601. package/dist/node_modules/lodash/_castSlice.js.map +1 -1
  602. package/dist/node_modules/lodash/_compareAscending.js +1 -2
  603. package/dist/node_modules/lodash/_compareAscending.js.map +1 -1
  604. package/dist/node_modules/lodash/_compareMultiple.js +1 -2
  605. package/dist/node_modules/lodash/_compareMultiple.js.map +1 -1
  606. package/dist/node_modules/lodash/_coreJsData.js +1 -2
  607. package/dist/node_modules/lodash/_coreJsData.js.map +1 -1
  608. package/dist/node_modules/lodash/_createBaseEach.js +1 -2
  609. package/dist/node_modules/lodash/_createBaseEach.js.map +1 -1
  610. package/dist/node_modules/lodash/_createBaseFor.js +1 -2
  611. package/dist/node_modules/lodash/_createBaseFor.js.map +1 -1
  612. package/dist/node_modules/lodash/_createCaseFirst.js +6 -7
  613. package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -1
  614. package/dist/node_modules/lodash/_createFind.js +5 -6
  615. package/dist/node_modules/lodash/_createFind.js.map +1 -1
  616. package/dist/node_modules/lodash/_createRange.js +4 -5
  617. package/dist/node_modules/lodash/_createRange.js.map +1 -1
  618. package/dist/node_modules/lodash/_createSet.js +6 -7
  619. package/dist/node_modules/lodash/_createSet.js.map +1 -1
  620. package/dist/node_modules/lodash/_defineProperty.js +1 -2
  621. package/dist/node_modules/lodash/_defineProperty.js.map +1 -1
  622. package/dist/node_modules/lodash/_equalArrays.js +1 -2
  623. package/dist/node_modules/lodash/_equalArrays.js.map +1 -1
  624. package/dist/node_modules/lodash/_equalByTag.js +5 -6
  625. package/dist/node_modules/lodash/_equalByTag.js.map +1 -1
  626. package/dist/node_modules/lodash/_equalObjects.js +1 -2
  627. package/dist/node_modules/lodash/_equalObjects.js.map +1 -1
  628. package/dist/node_modules/lodash/_freeGlobal.js +1 -2
  629. package/dist/node_modules/lodash/_freeGlobal.js.map +1 -1
  630. package/dist/node_modules/lodash/_getAllKeys.js +1 -2
  631. package/dist/node_modules/lodash/_getAllKeys.js.map +1 -1
  632. package/dist/node_modules/lodash/_getMapData.js +1 -2
  633. package/dist/node_modules/lodash/_getMapData.js.map +1 -1
  634. package/dist/node_modules/lodash/_getMatchData.js +4 -5
  635. package/dist/node_modules/lodash/_getMatchData.js.map +1 -1
  636. package/dist/node_modules/lodash/_getNative.js +1 -2
  637. package/dist/node_modules/lodash/_getNative.js.map +1 -1
  638. package/dist/node_modules/lodash/_getPrototype.js +1 -2
  639. package/dist/node_modules/lodash/_getPrototype.js.map +1 -1
  640. package/dist/node_modules/lodash/_getRawTag.js +1 -2
  641. package/dist/node_modules/lodash/_getRawTag.js.map +1 -1
  642. package/dist/node_modules/lodash/_getSymbols.js +1 -2
  643. package/dist/node_modules/lodash/_getSymbols.js.map +1 -1
  644. package/dist/node_modules/lodash/_getTag.js +9 -10
  645. package/dist/node_modules/lodash/_getTag.js.map +1 -1
  646. package/dist/node_modules/lodash/_getValue.js +1 -2
  647. package/dist/node_modules/lodash/_getValue.js.map +1 -1
  648. package/dist/node_modules/lodash/_hasPath.js +8 -9
  649. package/dist/node_modules/lodash/_hasPath.js.map +1 -1
  650. package/dist/node_modules/lodash/_hasUnicode.js +1 -2
  651. package/dist/node_modules/lodash/_hasUnicode.js.map +1 -1
  652. package/dist/node_modules/lodash/_hashClear.js +1 -2
  653. package/dist/node_modules/lodash/_hashClear.js.map +1 -1
  654. package/dist/node_modules/lodash/_hashDelete.js +1 -2
  655. package/dist/node_modules/lodash/_hashDelete.js.map +1 -1
  656. package/dist/node_modules/lodash/_hashGet.js +1 -2
  657. package/dist/node_modules/lodash/_hashGet.js.map +1 -1
  658. package/dist/node_modules/lodash/_hashHas.js +1 -2
  659. package/dist/node_modules/lodash/_hashHas.js.map +1 -1
  660. package/dist/node_modules/lodash/_hashSet.js +1 -2
  661. package/dist/node_modules/lodash/_hashSet.js.map +1 -1
  662. package/dist/node_modules/lodash/_isFlattenable.js +5 -6
  663. package/dist/node_modules/lodash/_isFlattenable.js.map +1 -1
  664. package/dist/node_modules/lodash/_isIndex.js +6 -7
  665. package/dist/node_modules/lodash/_isIndex.js.map +1 -1
  666. package/dist/node_modules/lodash/_isIterateeCall.js +5 -6
  667. package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -1
  668. package/dist/node_modules/lodash/_isKey.js +1 -2
  669. package/dist/node_modules/lodash/_isKey.js.map +1 -1
  670. package/dist/node_modules/lodash/_isKeyable.js +1 -2
  671. package/dist/node_modules/lodash/_isKeyable.js.map +1 -1
  672. package/dist/node_modules/lodash/_isMasked.js +1 -2
  673. package/dist/node_modules/lodash/_isMasked.js.map +1 -1
  674. package/dist/node_modules/lodash/_isPrototype.js +1 -2
  675. package/dist/node_modules/lodash/_isPrototype.js.map +1 -1
  676. package/dist/node_modules/lodash/_isStrictComparable.js +1 -2
  677. package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -1
  678. package/dist/node_modules/lodash/_listCacheClear.js +1 -2
  679. package/dist/node_modules/lodash/_listCacheClear.js.map +1 -1
  680. package/dist/node_modules/lodash/_listCacheDelete.js +1 -2
  681. package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -1
  682. package/dist/node_modules/lodash/_listCacheGet.js +1 -2
  683. package/dist/node_modules/lodash/_listCacheGet.js.map +1 -1
  684. package/dist/node_modules/lodash/_listCacheHas.js +1 -2
  685. package/dist/node_modules/lodash/_listCacheHas.js.map +1 -1
  686. package/dist/node_modules/lodash/_listCacheSet.js +1 -2
  687. package/dist/node_modules/lodash/_listCacheSet.js.map +1 -1
  688. package/dist/node_modules/lodash/_mapCacheClear.js +1 -2
  689. package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -1
  690. package/dist/node_modules/lodash/_mapCacheDelete.js +1 -2
  691. package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -1
  692. package/dist/node_modules/lodash/_mapCacheGet.js +1 -2
  693. package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -1
  694. package/dist/node_modules/lodash/_mapCacheHas.js +1 -2
  695. package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -1
  696. package/dist/node_modules/lodash/_mapCacheSet.js +1 -2
  697. package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -1
  698. package/dist/node_modules/lodash/_mapToArray.js +1 -2
  699. package/dist/node_modules/lodash/_mapToArray.js.map +1 -1
  700. package/dist/node_modules/lodash/_matchesStrictComparable.js +2 -3
  701. package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -1
  702. package/dist/node_modules/lodash/_memoizeCapped.js +1 -2
  703. package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -1
  704. package/dist/node_modules/lodash/_nativeCreate.js +1 -2
  705. package/dist/node_modules/lodash/_nativeCreate.js.map +1 -1
  706. package/dist/node_modules/lodash/_nativeKeys.js +1 -2
  707. package/dist/node_modules/lodash/_nativeKeys.js.map +1 -1
  708. package/dist/node_modules/lodash/_nodeUtil.js +1 -2
  709. package/dist/node_modules/lodash/_nodeUtil.js.map +1 -1
  710. package/dist/node_modules/lodash/_objectToString.js +1 -2
  711. package/dist/node_modules/lodash/_objectToString.js.map +1 -1
  712. package/dist/node_modules/lodash/_overArg.js +1 -2
  713. package/dist/node_modules/lodash/_overArg.js.map +1 -1
  714. package/dist/node_modules/lodash/_overRest.js +1 -2
  715. package/dist/node_modules/lodash/_overRest.js.map +1 -1
  716. package/dist/node_modules/lodash/_root.js +1 -2
  717. package/dist/node_modules/lodash/_root.js.map +1 -1
  718. package/dist/node_modules/lodash/_setCacheAdd.js +4 -6
  719. package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -1
  720. package/dist/node_modules/lodash/_setCacheHas.js +1 -2
  721. package/dist/node_modules/lodash/_setCacheHas.js.map +1 -1
  722. package/dist/node_modules/lodash/_setToArray.js +1 -2
  723. package/dist/node_modules/lodash/_setToArray.js.map +1 -1
  724. package/dist/node_modules/lodash/_setToString.js +1 -2
  725. package/dist/node_modules/lodash/_setToString.js.map +1 -1
  726. package/dist/node_modules/lodash/_shortOut.js +8 -9
  727. package/dist/node_modules/lodash/_shortOut.js.map +1 -1
  728. package/dist/node_modules/lodash/_stackClear.js +1 -2
  729. package/dist/node_modules/lodash/_stackClear.js.map +1 -1
  730. package/dist/node_modules/lodash/_stackDelete.js +1 -2
  731. package/dist/node_modules/lodash/_stackDelete.js.map +1 -1
  732. package/dist/node_modules/lodash/_stackGet.js +1 -2
  733. package/dist/node_modules/lodash/_stackGet.js.map +1 -1
  734. package/dist/node_modules/lodash/_stackHas.js +1 -2
  735. package/dist/node_modules/lodash/_stackHas.js.map +1 -1
  736. package/dist/node_modules/lodash/_stackSet.js +1 -2
  737. package/dist/node_modules/lodash/_stackSet.js.map +1 -1
  738. package/dist/node_modules/lodash/_strictIndexOf.js +1 -2
  739. package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -1
  740. package/dist/node_modules/lodash/_stringToArray.js +4 -5
  741. package/dist/node_modules/lodash/_stringToArray.js.map +1 -1
  742. package/dist/node_modules/lodash/_stringToPath.js +1 -2
  743. package/dist/node_modules/lodash/_stringToPath.js.map +1 -1
  744. package/dist/node_modules/lodash/_toKey.js +2 -3
  745. package/dist/node_modules/lodash/_toKey.js.map +1 -1
  746. package/dist/node_modules/lodash/_toSource.js +1 -2
  747. package/dist/node_modules/lodash/_toSource.js.map +1 -1
  748. package/dist/node_modules/lodash/_trimmedEndIndex.js +1 -2
  749. package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -1
  750. package/dist/node_modules/lodash/_unicodeToArray.js +1 -2
  751. package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -1
  752. package/dist/node_modules/lodash/constant.js +1 -2
  753. package/dist/node_modules/lodash/constant.js.map +1 -1
  754. package/dist/node_modules/lodash/debounce.js +1 -2
  755. package/dist/node_modules/lodash/debounce.js.map +1 -1
  756. package/dist/node_modules/lodash/eq.js +1 -2
  757. package/dist/node_modules/lodash/eq.js.map +1 -1
  758. package/dist/node_modules/lodash/every.js +7 -8
  759. package/dist/node_modules/lodash/every.js.map +1 -1
  760. package/dist/node_modules/lodash/find.js +1 -2
  761. package/dist/node_modules/lodash/find.js.map +1 -1
  762. package/dist/node_modules/lodash/findIndex.js +4 -5
  763. package/dist/node_modules/lodash/findIndex.js.map +1 -1
  764. package/dist/node_modules/lodash/flatMap.js +1 -2
  765. package/dist/node_modules/lodash/flatMap.js.map +1 -1
  766. package/dist/node_modules/lodash/get.js +1 -2
  767. package/dist/node_modules/lodash/get.js.map +1 -1
  768. package/dist/node_modules/lodash/hasIn.js +1 -2
  769. package/dist/node_modules/lodash/hasIn.js.map +1 -1
  770. package/dist/node_modules/lodash/identity.js +1 -2
  771. package/dist/node_modules/lodash/identity.js.map +1 -1
  772. package/dist/node_modules/lodash/isArguments.js +4 -5
  773. package/dist/node_modules/lodash/isArguments.js.map +1 -1
  774. package/dist/node_modules/lodash/isArray.js +1 -2
  775. package/dist/node_modules/lodash/isArray.js.map +1 -1
  776. package/dist/node_modules/lodash/isArrayLike.js +1 -2
  777. package/dist/node_modules/lodash/isArrayLike.js.map +1 -1
  778. package/dist/node_modules/lodash/isBoolean.js +1 -2
  779. package/dist/node_modules/lodash/isBoolean.js.map +1 -1
  780. package/dist/node_modules/lodash/isBuffer.js +1 -2
  781. package/dist/node_modules/lodash/isBuffer.js.map +1 -1
  782. package/dist/node_modules/lodash/isEqual.js +1 -2
  783. package/dist/node_modules/lodash/isEqual.js.map +1 -1
  784. package/dist/node_modules/lodash/isFunction.js +1 -2
  785. package/dist/node_modules/lodash/isFunction.js.map +1 -1
  786. package/dist/node_modules/lodash/isLength.js +4 -6
  787. package/dist/node_modules/lodash/isLength.js.map +1 -1
  788. package/dist/node_modules/lodash/isNaN.js +1 -2
  789. package/dist/node_modules/lodash/isNaN.js.map +1 -1
  790. package/dist/node_modules/lodash/isNil.js +1 -2
  791. package/dist/node_modules/lodash/isNil.js.map +1 -1
  792. package/dist/node_modules/lodash/isNumber.js +1 -2
  793. package/dist/node_modules/lodash/isNumber.js.map +1 -1
  794. package/dist/node_modules/lodash/isObject.js +1 -2
  795. package/dist/node_modules/lodash/isObject.js.map +1 -1
  796. package/dist/node_modules/lodash/isObjectLike.js +1 -2
  797. package/dist/node_modules/lodash/isObjectLike.js.map +1 -1
  798. package/dist/node_modules/lodash/isPlainObject.js +4 -5
  799. package/dist/node_modules/lodash/isPlainObject.js.map +1 -1
  800. package/dist/node_modules/lodash/isString.js +4 -5
  801. package/dist/node_modules/lodash/isString.js.map +1 -1
  802. package/dist/node_modules/lodash/isSymbol.js +1 -2
  803. package/dist/node_modules/lodash/isSymbol.js.map +1 -1
  804. package/dist/node_modules/lodash/isTypedArray.js +1 -2
  805. package/dist/node_modules/lodash/isTypedArray.js.map +1 -1
  806. package/dist/node_modules/lodash/keys.js +1 -2
  807. package/dist/node_modules/lodash/keys.js.map +1 -1
  808. package/dist/node_modules/lodash/last.js +1 -2
  809. package/dist/node_modules/lodash/last.js.map +1 -1
  810. package/dist/node_modules/lodash/map.js +6 -7
  811. package/dist/node_modules/lodash/map.js.map +1 -1
  812. package/dist/node_modules/lodash/mapValues.js +4 -5
  813. package/dist/node_modules/lodash/mapValues.js.map +1 -1
  814. package/dist/node_modules/lodash/max.js +5 -6
  815. package/dist/node_modules/lodash/max.js.map +1 -1
  816. package/dist/node_modules/lodash/memoize.js +1 -2
  817. package/dist/node_modules/lodash/memoize.js.map +1 -1
  818. package/dist/node_modules/lodash/min.js +5 -6
  819. package/dist/node_modules/lodash/min.js.map +1 -1
  820. package/dist/node_modules/lodash/noop.js +1 -2
  821. package/dist/node_modules/lodash/noop.js.map +1 -1
  822. package/dist/node_modules/lodash/now.js +1 -2
  823. package/dist/node_modules/lodash/now.js.map +1 -1
  824. package/dist/node_modules/lodash/property.js +6 -7
  825. package/dist/node_modules/lodash/property.js.map +1 -1
  826. package/dist/node_modules/lodash/range.js +1 -2
  827. package/dist/node_modules/lodash/range.js.map +1 -1
  828. package/dist/node_modules/lodash/some.js +7 -8
  829. package/dist/node_modules/lodash/some.js.map +1 -1
  830. package/dist/node_modules/lodash/sortBy.js +1 -2
  831. package/dist/node_modules/lodash/sortBy.js.map +1 -1
  832. package/dist/node_modules/lodash/stubArray.js +1 -2
  833. package/dist/node_modules/lodash/stubArray.js.map +1 -1
  834. package/dist/node_modules/lodash/stubFalse.js +1 -2
  835. package/dist/node_modules/lodash/stubFalse.js.map +1 -1
  836. package/dist/node_modules/lodash/throttle.js +4 -5
  837. package/dist/node_modules/lodash/throttle.js.map +1 -1
  838. package/dist/node_modules/lodash/toFinite.js +2 -3
  839. package/dist/node_modules/lodash/toFinite.js.map +1 -1
  840. package/dist/node_modules/lodash/toInteger.js +1 -2
  841. package/dist/node_modules/lodash/toInteger.js.map +1 -1
  842. package/dist/node_modules/lodash/toNumber.js +4 -5
  843. package/dist/node_modules/lodash/toNumber.js.map +1 -1
  844. package/dist/node_modules/lodash/toString.js +1 -2
  845. package/dist/node_modules/lodash/toString.js.map +1 -1
  846. package/dist/node_modules/lodash/uniqBy.js +1 -2
  847. package/dist/node_modules/lodash/uniqBy.js.map +1 -1
  848. package/dist/node_modules/lodash/upperFirst.js +1 -2
  849. package/dist/node_modules/lodash/upperFirst.js.map +1 -1
  850. package/dist/node_modules/object-assign/index.js +1 -2
  851. package/dist/node_modules/object-assign/index.js.map +1 -1
  852. package/dist/node_modules/prop-types/checkPropTypes.js +1 -2
  853. package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -1
  854. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +1 -2
  855. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -1
  856. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +3 -3
  857. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -1
  858. package/dist/node_modules/prop-types/index.js +1 -2
  859. package/dist/node_modules/prop-types/index.js.map +1 -1
  860. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -2
  861. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -1
  862. package/dist/node_modules/prop-types/lib/has.js +1 -2
  863. package/dist/node_modules/prop-types/lib/has.js.map +1 -1
  864. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -2
  865. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -1
  866. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -2
  867. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
  868. package/dist/node_modules/prop-types/node_modules/react-is/index.js +2 -3
  869. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -1
  870. package/dist/node_modules/react-is/cjs/react-is.development.js +31 -32
  871. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -1
  872. package/dist/node_modules/react-is/cjs/react-is.production.min.js +1 -2
  873. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
  874. package/dist/node_modules/react-is/index.js +2 -3
  875. package/dist/node_modules/react-is/index.js.map +1 -1
  876. package/dist/node_modules/react-smooth/es6/Animate.js +33 -41
  877. package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -1
  878. package/dist/node_modules/react-smooth/es6/AnimateManager.js +2 -5
  879. package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -1
  880. package/dist/node_modules/react-smooth/es6/configUpdate.js +1 -2
  881. package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -1
  882. package/dist/node_modules/react-smooth/es6/easing.js +1 -2
  883. package/dist/node_modules/react-smooth/es6/easing.js.map +1 -1
  884. package/dist/node_modules/react-smooth/es6/index.js +1 -2
  885. package/dist/node_modules/react-smooth/es6/index.js.map +1 -1
  886. package/dist/node_modules/react-smooth/es6/setRafTimeout.js +1 -2
  887. package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -1
  888. package/dist/node_modules/react-smooth/es6/util.js +17 -16
  889. package/dist/node_modules/react-smooth/es6/util.js.map +1 -1
  890. package/dist/node_modules/recharts/es6/cartesian/Bar.js +103 -104
  891. package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -1
  892. package/dist/node_modules/recharts/es6/cartesian/Brush.js +35 -36
  893. package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -1
  894. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +60 -67
  895. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -1
  896. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +45 -46
  897. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js.map +1 -1
  898. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +20 -21
  899. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -1
  900. package/dist/node_modules/recharts/es6/cartesian/Line.js +79 -80
  901. package/dist/node_modules/recharts/es6/cartesian/Line.js.map +1 -1
  902. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +29 -30
  903. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -1
  904. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +23 -24
  905. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -1
  906. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +31 -32
  907. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -1
  908. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +10 -11
  909. package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -1
  910. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +10 -11
  911. package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -1
  912. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +5 -6
  913. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -1
  914. package/dist/node_modules/recharts/es6/cartesian/getTicks.js +7 -8
  915. package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -1
  916. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +2 -5
  917. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -1
  918. package/dist/node_modules/recharts/es6/chart/BarChart.js +7 -8
  919. package/dist/node_modules/recharts/es6/chart/BarChart.js.map +1 -1
  920. package/dist/node_modules/recharts/es6/chart/LineChart.js +5 -6
  921. package/dist/node_modules/recharts/es6/chart/LineChart.js.map +1 -1
  922. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +534 -533
  923. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -1
  924. package/dist/node_modules/recharts/es6/component/Cell.js +1 -2
  925. package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -1
  926. package/dist/node_modules/recharts/es6/component/Cursor.js +17 -18
  927. package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -1
  928. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +35 -36
  929. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -1
  930. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +16 -17
  931. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -1
  932. package/dist/node_modules/recharts/es6/component/Label.js +85 -86
  933. package/dist/node_modules/recharts/es6/component/Label.js.map +1 -1
  934. package/dist/node_modules/recharts/es6/component/LabelList.js +20 -21
  935. package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -1
  936. package/dist/node_modules/recharts/es6/component/Legend.js +26 -23
  937. package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -1
  938. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +16 -17
  939. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -1
  940. package/dist/node_modules/recharts/es6/component/Text.js +18 -21
  941. package/dist/node_modules/recharts/es6/component/Text.js.map +1 -1
  942. package/dist/node_modules/recharts/es6/component/Tooltip.js +16 -17
  943. package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -1
  944. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +3 -4
  945. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -1
  946. package/dist/node_modules/recharts/es6/container/Layer.js +5 -6
  947. package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -1
  948. package/dist/node_modules/recharts/es6/container/Surface.js +5 -6
  949. package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -1
  950. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +21 -21
  951. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -1
  952. package/dist/node_modules/recharts/es6/shape/Cross.js +4 -5
  953. package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -1
  954. package/dist/node_modules/recharts/es6/shape/Curve.js +38 -49
  955. package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -1
  956. package/dist/node_modules/recharts/es6/shape/Dot.js +3 -4
  957. package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -1
  958. package/dist/node_modules/recharts/es6/shape/Rectangle.js +8 -9
  959. package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -1
  960. package/dist/node_modules/recharts/es6/shape/Sector.js +33 -34
  961. package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -1
  962. package/dist/node_modules/recharts/es6/shape/Symbols.js +26 -34
  963. package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -1
  964. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +8 -9
  965. package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -1
  966. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +24 -25
  967. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -1
  968. package/dist/node_modules/recharts/es6/util/BarUtils.js +10 -11
  969. package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -1
  970. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +33 -34
  971. package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -1
  972. package/dist/node_modules/recharts/es6/util/ChartUtils.js +231 -236
  973. package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -1
  974. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +1 -2
  975. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -1
  976. package/dist/node_modules/recharts/es6/util/DOMUtils.js +1 -2
  977. package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -1
  978. package/dist/node_modules/recharts/es6/util/DataUtils.js +7 -8
  979. package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -1
  980. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +20 -21
  981. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -1
  982. package/dist/node_modules/recharts/es6/util/Events.js +0 -1
  983. package/dist/node_modules/recharts/es6/util/Events.js.map +1 -1
  984. package/dist/node_modules/recharts/es6/util/Global.js +0 -1
  985. package/dist/node_modules/recharts/es6/util/Global.js.map +1 -1
  986. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +1 -2
  987. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -1
  988. package/dist/node_modules/recharts/es6/util/LogUtils.js +9 -8
  989. package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -1
  990. package/dist/node_modules/recharts/es6/util/PolarUtils.js +4 -5
  991. package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -1
  992. package/dist/node_modules/recharts/es6/util/ReactUtils.js +11 -12
  993. package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -1
  994. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +5 -6
  995. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -1
  996. package/dist/node_modules/recharts/es6/util/ShallowEqual.js +1 -2
  997. package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -1
  998. package/dist/node_modules/recharts/es6/util/TickUtils.js +4 -4
  999. package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -1
  1000. package/dist/node_modules/recharts/es6/util/calculateViewBox.js +0 -1
  1001. package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -1
  1002. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +7 -6
  1003. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -1
  1004. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +1 -2
  1005. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -1
  1006. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +1 -2
  1007. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -1
  1008. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +1 -2
  1009. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -1
  1010. package/dist/node_modules/recharts/es6/util/getLegendProps.js +9 -10
  1011. package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -1
  1012. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +1 -2
  1013. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -1
  1014. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +4 -5
  1015. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -1
  1016. package/dist/node_modules/recharts/es6/util/tooltip/translate.js +3 -4
  1017. package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -1
  1018. package/dist/node_modules/recharts/es6/util/types.js +2 -3
  1019. package/dist/node_modules/recharts/es6/util/types.js.map +1 -1
  1020. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +2 -3
  1021. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -1
  1022. package/dist/node_modules/recharts-scale/es6/index.js +1 -1
  1023. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +1 -2
  1024. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -1
  1025. package/dist/node_modules/recharts-scale/es6/util/utils.js +3 -4
  1026. package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -1
  1027. package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js +2 -3
  1028. package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +1 -1
  1029. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js +41 -42
  1030. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -1
  1031. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js +14 -15
  1032. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -1
  1033. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js +21 -18
  1034. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -1
  1035. package/dist/node_modules/rxjs/dist/esm5/internal/config.js +1 -2
  1036. package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -1
  1037. package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js +1 -2
  1038. package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -1
  1039. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +2 -3
  1040. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -1
  1041. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js +1 -2
  1042. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -1
  1043. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +1 -2
  1044. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -1
  1045. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +1 -2
  1046. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -1
  1047. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +1 -2
  1048. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -1
  1049. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +1 -2
  1050. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -1
  1051. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js +1 -2
  1052. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +1 -1
  1053. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +1 -2
  1054. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -1
  1055. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +1 -2
  1056. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -1
  1057. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js +1 -2
  1058. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -1
  1059. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +1 -2
  1060. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -1
  1061. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +229 -167
  1062. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  1063. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +2 -3
  1064. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -1
  1065. package/dist/node_modules/{rxjs/node_modules/tslib → tslib}/tslib.es6.js +1 -2
  1066. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  1067. package/dist/node_modules/victory-vendor/es/d3-scale.js +28 -45
  1068. package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -1
  1069. package/dist/test/happydom.d.ts +1 -0
  1070. package/dist/translations/en.d.ts +46 -1
  1071. package/dist/translations/en.js +48 -3
  1072. package/dist/translations/en.js.map +1 -1
  1073. package/dist/utils/nativeBridge.d.ts +0 -1
  1074. package/dist/utils/nativeBridge.js +1 -2
  1075. package/package.json +76 -60
  1076. package/dist/__tests__/setup.d.ts +0 -2
  1077. package/dist/__tests__/setup.d.ts.map +0 -1
  1078. package/dist/__tests__/utils/renderWithProviders.d.ts.map +0 -1
  1079. package/dist/dev/main.d.ts.map +0 -1
  1080. package/dist/devportal/AdminDevportalRoot.d.ts.map +0 -1
  1081. package/dist/devportal/AdminDevportalRoutes.d.ts.map +0 -1
  1082. package/dist/devportal/DevportalRoot.d.ts.map +0 -1
  1083. package/dist/devportal/DevportalRoutes.d.ts.map +0 -1
  1084. package/dist/devportal/components/AppCard.d.ts.map +0 -1
  1085. package/dist/devportal/components/ConfirmDialog.d.ts.map +0 -1
  1086. package/dist/devportal/components/DataTable.d.ts.map +0 -1
  1087. package/dist/devportal/components/EmptyState.d.ts.map +0 -1
  1088. package/dist/devportal/components/FeatureFlaggedRoute.d.ts.map +0 -1
  1089. package/dist/devportal/components/FormField.d.ts.map +0 -1
  1090. package/dist/devportal/components/GrantDelegationModal.d.ts.map +0 -1
  1091. package/dist/devportal/components/ImageUploadField.d.ts.map +0 -1
  1092. package/dist/devportal/components/LoadingState.d.ts.map +0 -1
  1093. package/dist/devportal/components/ManifestViewer.d.ts.map +0 -1
  1094. package/dist/devportal/components/MarkdownEditor.d.ts.map +0 -1
  1095. package/dist/devportal/components/MultiSelectCombobox.d.ts.map +0 -1
  1096. package/dist/devportal/components/NodeSmokePanel.d.ts.map +0 -1
  1097. package/dist/devportal/components/OnboardingChecklist.d.ts.map +0 -1
  1098. package/dist/devportal/components/PackageValidationPanel.d.ts.map +0 -1
  1099. package/dist/devportal/components/PageLayout.d.ts.map +0 -1
  1100. package/dist/devportal/components/PermissionGuard.d.ts.map +0 -1
  1101. package/dist/devportal/components/RegisterPickupLocationModal.d.ts.map +0 -1
  1102. package/dist/devportal/components/ReportOrderIssueModal.d.ts.map +0 -1
  1103. package/dist/devportal/components/SecretDisplay.d.ts.map +0 -1
  1104. package/dist/devportal/components/SectionNav.d.ts.map +0 -1
  1105. package/dist/devportal/components/SelectionCheckbox.d.ts.map +0 -1
  1106. package/dist/devportal/components/StatCard.d.ts.map +0 -1
  1107. package/dist/devportal/components/StatusBadge.d.ts.map +0 -1
  1108. package/dist/devportal/components/TelemetryErrorBoundary.d.ts.map +0 -1
  1109. package/dist/devportal/components/index.d.ts.map +0 -1
  1110. package/dist/devportal/constants/appCategories.d.ts.map +0 -1
  1111. package/dist/devportal/constants/developerLinks.d.ts.map +0 -1
  1112. package/dist/devportal/constants/permissions.d.ts.map +0 -1
  1113. package/dist/devportal/events/index.d.ts.map +0 -1
  1114. package/dist/devportal/hooks/DevPortalProvider.d.ts.map +0 -1
  1115. package/dist/devportal/hooks/index.d.ts.map +0 -1
  1116. package/dist/devportal/hooks/useCarrierPickupLocations.d.ts.map +0 -1
  1117. package/dist/devportal/hooks/useGraphQL.d.ts.map +0 -1
  1118. package/dist/devportal/hooks/useIsSellerSection.d.ts.map +0 -1
  1119. package/dist/devportal/hooks/useOrganizationPickupAddresses.d.ts.map +0 -1
  1120. package/dist/devportal/hooks/usePackageUpload.d.ts.map +0 -1
  1121. package/dist/devportal/hooks/usePermission.d.ts.map +0 -1
  1122. package/dist/devportal/hooks/useProducts.d.ts.map +0 -1
  1123. package/dist/devportal/hooks/useSellerOrganization.d.ts.map +0 -1
  1124. package/dist/devportal/index.d.ts.map +0 -1
  1125. package/dist/devportal/pages/AdminOrganizationVerificationPage.d.ts.map +0 -1
  1126. package/dist/devportal/pages/AdminReviewPage.d.ts.map +0 -1
  1127. package/dist/devportal/pages/AnalyticsDashboardPage.d.ts.map +0 -1
  1128. package/dist/devportal/pages/ApiKeysPage.d.ts.map +0 -1
  1129. package/dist/devportal/pages/AppLogsPage.d.ts.map +0 -1
  1130. package/dist/devportal/pages/ApplicationDetailPage.d.ts.map +0 -1
  1131. package/dist/devportal/pages/ApplicationVersionsPage.d.ts.map +0 -1
  1132. package/dist/devportal/pages/ApplicationsPage.d.ts.map +0 -1
  1133. package/dist/devportal/pages/CreateApiKeyPage.d.ts.map +0 -1
  1134. package/dist/devportal/pages/CreateApplicationPage.d.ts.map +0 -1
  1135. package/dist/devportal/pages/CreateOAuthClientPage.d.ts.map +0 -1
  1136. package/dist/devportal/pages/CreateOrganizationPage.d.ts.map +0 -1
  1137. package/dist/devportal/pages/CreatePhysicalItemPage.d.ts.map +0 -1
  1138. package/dist/devportal/pages/CreateWebhookPage.d.ts.map +0 -1
  1139. package/dist/devportal/pages/DashboardPage.d.ts.map +0 -1
  1140. package/dist/devportal/pages/DelegationsPage.d.ts.map +0 -1
  1141. package/dist/devportal/pages/DocumentationPage.d.ts.map +0 -1
  1142. package/dist/devportal/pages/EditApplicationPage.d.ts.map +0 -1
  1143. package/dist/devportal/pages/EditPhysicalItemPage.d.ts.map +0 -1
  1144. package/dist/devportal/pages/InvitationDecisionPage.d.ts.map +0 -1
  1145. package/dist/devportal/pages/ListingPreviewPage.d.ts.map +0 -1
  1146. package/dist/devportal/pages/NodeLifecyclePage.d.ts.map +0 -1
  1147. package/dist/devportal/pages/OAuthCallbackPage.d.ts.map +0 -1
  1148. package/dist/devportal/pages/OAuthClientDetailPage.d.ts.map +0 -1
  1149. package/dist/devportal/pages/OAuthClientsPage.d.ts.map +0 -1
  1150. package/dist/devportal/pages/OrganizationDetailPage.d.ts.map +0 -1
  1151. package/dist/devportal/pages/OrganizationMembersPage.d.ts.map +0 -1
  1152. package/dist/devportal/pages/OrganizationsPage.d.ts.map +0 -1
  1153. package/dist/devportal/pages/PublishPage.d.ts.map +0 -1
  1154. package/dist/devportal/pages/PublisherPayoutsPage.d.ts.map +0 -1
  1155. package/dist/devportal/pages/PublisherProfilePage.d.ts.map +0 -1
  1156. package/dist/devportal/pages/ResourcesPage.d.ts.map +0 -1
  1157. package/dist/devportal/pages/RevenueDashboardPage.d.ts.map +0 -1
  1158. package/dist/devportal/pages/RevenueRedirectPage.d.ts.map +0 -1
  1159. package/dist/devportal/pages/SellerDashboardPage.d.ts.map +0 -1
  1160. package/dist/devportal/pages/SellerItemsPage.d.ts.map +0 -1
  1161. package/dist/devportal/pages/SellerOrdersPage.d.ts.map +0 -1
  1162. package/dist/devportal/pages/SettingsPage.d.ts.map +0 -1
  1163. package/dist/devportal/pages/SetupPage.d.ts.map +0 -1
  1164. package/dist/devportal/pages/StoreSubmissionPage.d.ts.map +0 -1
  1165. package/dist/devportal/pages/WebhookDetailPage.d.ts.map +0 -1
  1166. package/dist/devportal/pages/WebhooksPage.d.ts.map +0 -1
  1167. package/dist/devportal/providers/DevportalProvider.d.ts.map +0 -1
  1168. package/dist/devportal/store/devportalStore.d.ts.map +0 -1
  1169. package/dist/devportal/types/index.d.ts.map +0 -1
  1170. package/dist/devportal/utils/cn.d.ts.map +0 -1
  1171. package/dist/devportal/utils/constants.d.ts.map +0 -1
  1172. package/dist/devportal/utils/currency.d.ts.map +0 -1
  1173. package/dist/devportal/utils/developerOnboarding.d.ts.map +0 -1
  1174. package/dist/devportal/utils/graphqlEndpoint.d.ts.map +0 -1
  1175. package/dist/devportal/utils/i18n.d.ts.map +0 -1
  1176. package/dist/devportal/utils/nodeLifecycle.d.ts.map +0 -1
  1177. package/dist/devportal/utils/publisherPayouts.d.ts.map +0 -1
  1178. package/dist/devportal/utils/recaptcha.d.ts.map +0 -1
  1179. package/dist/devportal/utils/submitForReview.d.ts.map +0 -1
  1180. package/dist/devportal/utils/uploadErrors.d.ts.map +0 -1
  1181. package/dist/generated/global-operations.d.ts.map +0 -1
  1182. package/dist/generated/global-types.d.ts.map +0 -1
  1183. package/dist/generated/wspace-operations.d.ts.map +0 -1
  1184. package/dist/generated/wspace-types.d.ts.map +0 -1
  1185. package/dist/index.d.ts.map +0 -1
  1186. package/dist/node_modules/d3-array/src/ascending.js +0 -8
  1187. package/dist/node_modules/d3-array/src/ascending.js.map +0 -1
  1188. package/dist/node_modules/d3-array/src/bisect.js +0 -10
  1189. package/dist/node_modules/d3-array/src/bisect.js.map +0 -1
  1190. package/dist/node_modules/d3-array/src/bisector.js +0 -43
  1191. package/dist/node_modules/d3-array/src/bisector.js.map +0 -1
  1192. package/dist/node_modules/d3-array/src/descending.js +0 -8
  1193. package/dist/node_modules/d3-array/src/descending.js.map +0 -1
  1194. package/dist/node_modules/d3-array/src/max.js +0 -14
  1195. package/dist/node_modules/d3-array/src/max.js.map +0 -1
  1196. package/dist/node_modules/d3-array/src/min.js +0 -14
  1197. package/dist/node_modules/d3-array/src/min.js.map +0 -1
  1198. package/dist/node_modules/d3-array/src/number.js +0 -15
  1199. package/dist/node_modules/d3-array/src/number.js.map +0 -1
  1200. package/dist/node_modules/d3-array/src/quantile.js +0 -25
  1201. package/dist/node_modules/d3-array/src/quantile.js.map +0 -1
  1202. package/dist/node_modules/d3-array/src/quickselect.js +0 -26
  1203. package/dist/node_modules/d3-array/src/quickselect.js.map +0 -1
  1204. package/dist/node_modules/d3-array/src/range.js +0 -10
  1205. package/dist/node_modules/d3-array/src/range.js.map +0 -1
  1206. package/dist/node_modules/d3-array/src/sort.js +0 -17
  1207. package/dist/node_modules/d3-array/src/sort.js.map +0 -1
  1208. package/dist/node_modules/d3-array/src/ticks.js +0 -34
  1209. package/dist/node_modules/d3-array/src/ticks.js.map +0 -1
  1210. package/dist/node_modules/d3-color/src/color.js +0 -291
  1211. package/dist/node_modules/d3-color/src/color.js.map +0 -1
  1212. package/dist/node_modules/d3-color/src/define.js +0 -13
  1213. package/dist/node_modules/d3-color/src/define.js.map +0 -1
  1214. package/dist/node_modules/d3-format/src/defaultLocale.js +0 -15
  1215. package/dist/node_modules/d3-format/src/defaultLocale.js.map +0 -1
  1216. package/dist/node_modules/d3-format/src/exponent.js +0 -9
  1217. package/dist/node_modules/d3-format/src/exponent.js.map +0 -1
  1218. package/dist/node_modules/d3-format/src/formatDecimal.js +0 -13
  1219. package/dist/node_modules/d3-format/src/formatDecimal.js.map +0 -1
  1220. package/dist/node_modules/d3-format/src/formatGroup.js +0 -11
  1221. package/dist/node_modules/d3-format/src/formatGroup.js.map +0 -1
  1222. package/dist/node_modules/d3-format/src/formatNumerals.js +0 -12
  1223. package/dist/node_modules/d3-format/src/formatNumerals.js.map +0 -1
  1224. package/dist/node_modules/d3-format/src/formatPrefixAuto.js +0 -13
  1225. package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +0 -1
  1226. package/dist/node_modules/d3-format/src/formatRounded.js +0 -12
  1227. package/dist/node_modules/d3-format/src/formatRounded.js.map +0 -1
  1228. package/dist/node_modules/d3-format/src/formatSpecifier.js +0 -29
  1229. package/dist/node_modules/d3-format/src/formatSpecifier.js.map +0 -1
  1230. package/dist/node_modules/d3-format/src/formatTrim.js +0 -20
  1231. package/dist/node_modules/d3-format/src/formatTrim.js.map +0 -1
  1232. package/dist/node_modules/d3-format/src/formatTypes.js +0 -23
  1233. package/dist/node_modules/d3-format/src/formatTypes.js.map +0 -1
  1234. package/dist/node_modules/d3-format/src/identity.js +0 -8
  1235. package/dist/node_modules/d3-format/src/identity.js.map +0 -1
  1236. package/dist/node_modules/d3-format/src/locale.js +0 -86
  1237. package/dist/node_modules/d3-format/src/locale.js.map +0 -1
  1238. package/dist/node_modules/d3-format/src/precisionFixed.js +0 -9
  1239. package/dist/node_modules/d3-format/src/precisionFixed.js.map +0 -1
  1240. package/dist/node_modules/d3-format/src/precisionPrefix.js +0 -9
  1241. package/dist/node_modules/d3-format/src/precisionPrefix.js.map +0 -1
  1242. package/dist/node_modules/d3-format/src/precisionRound.js +0 -9
  1243. package/dist/node_modules/d3-format/src/precisionRound.js.map +0 -1
  1244. package/dist/node_modules/d3-interpolate/src/array.js +0 -15
  1245. package/dist/node_modules/d3-interpolate/src/array.js.map +0 -1
  1246. package/dist/node_modules/d3-interpolate/src/basis.js +0 -16
  1247. package/dist/node_modules/d3-interpolate/src/basis.js.map +0 -1
  1248. package/dist/node_modules/d3-interpolate/src/basisClosed.js +0 -13
  1249. package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +0 -1
  1250. package/dist/node_modules/d3-interpolate/src/color.js +0 -25
  1251. package/dist/node_modules/d3-interpolate/src/color.js.map +0 -1
  1252. package/dist/node_modules/d3-interpolate/src/constant.js +0 -6
  1253. package/dist/node_modules/d3-interpolate/src/constant.js.map +0 -1
  1254. package/dist/node_modules/d3-interpolate/src/date.js +0 -11
  1255. package/dist/node_modules/d3-interpolate/src/date.js.map +0 -1
  1256. package/dist/node_modules/d3-interpolate/src/number.js +0 -10
  1257. package/dist/node_modules/d3-interpolate/src/number.js.map +0 -1
  1258. package/dist/node_modules/d3-interpolate/src/numberArray.js +0 -16
  1259. package/dist/node_modules/d3-interpolate/src/numberArray.js.map +0 -1
  1260. package/dist/node_modules/d3-interpolate/src/object.js +0 -14
  1261. package/dist/node_modules/d3-interpolate/src/object.js.map +0 -1
  1262. package/dist/node_modules/d3-interpolate/src/piecewise.js +0 -14
  1263. package/dist/node_modules/d3-interpolate/src/piecewise.js.map +0 -1
  1264. package/dist/node_modules/d3-interpolate/src/rgb.js +0 -19
  1265. package/dist/node_modules/d3-interpolate/src/rgb.js.map +0 -1
  1266. package/dist/node_modules/d3-interpolate/src/round.js +0 -10
  1267. package/dist/node_modules/d3-interpolate/src/round.js.map +0 -1
  1268. package/dist/node_modules/d3-interpolate/src/string.js +0 -28
  1269. package/dist/node_modules/d3-interpolate/src/string.js.map +0 -1
  1270. package/dist/node_modules/d3-interpolate/src/value.js +0 -18
  1271. package/dist/node_modules/d3-interpolate/src/value.js.map +0 -1
  1272. package/dist/node_modules/d3-path/src/path.js.map +0 -1
  1273. package/dist/node_modules/d3-scale/src/band.js +0 -52
  1274. package/dist/node_modules/d3-scale/src/band.js.map +0 -1
  1275. package/dist/node_modules/d3-scale/src/constant.js +0 -10
  1276. package/dist/node_modules/d3-scale/src/constant.js.map +0 -1
  1277. package/dist/node_modules/d3-scale/src/continuous.js +0 -73
  1278. package/dist/node_modules/d3-scale/src/continuous.js.map +0 -1
  1279. package/dist/node_modules/d3-scale/src/diverging.js +0 -82
  1280. package/dist/node_modules/d3-scale/src/diverging.js.map +0 -1
  1281. package/dist/node_modules/d3-scale/src/identity.js +0 -20
  1282. package/dist/node_modules/d3-scale/src/identity.js.map +0 -1
  1283. package/dist/node_modules/d3-scale/src/init.js +0 -29
  1284. package/dist/node_modules/d3-scale/src/init.js.map +0 -1
  1285. package/dist/node_modules/d3-scale/src/linear.js +0 -36
  1286. package/dist/node_modules/d3-scale/src/linear.js.map +0 -1
  1287. package/dist/node_modules/d3-scale/src/log.js +0 -77
  1288. package/dist/node_modules/d3-scale/src/log.js.map +0 -1
  1289. package/dist/node_modules/d3-scale/src/nice.js +0 -10
  1290. package/dist/node_modules/d3-scale/src/nice.js.map +0 -1
  1291. package/dist/node_modules/d3-scale/src/number.js +0 -8
  1292. package/dist/node_modules/d3-scale/src/number.js.map +0 -1
  1293. package/dist/node_modules/d3-scale/src/ordinal.js +0 -31
  1294. package/dist/node_modules/d3-scale/src/ordinal.js.map +0 -1
  1295. package/dist/node_modules/d3-scale/src/pow.js +0 -37
  1296. package/dist/node_modules/d3-scale/src/pow.js.map +0 -1
  1297. package/dist/node_modules/d3-scale/src/quantile.js +0 -37
  1298. package/dist/node_modules/d3-scale/src/quantile.js.map +0 -1
  1299. package/dist/node_modules/d3-scale/src/quantize.js +0 -33
  1300. package/dist/node_modules/d3-scale/src/quantize.js.map +0 -1
  1301. package/dist/node_modules/d3-scale/src/radial.js +0 -39
  1302. package/dist/node_modules/d3-scale/src/radial.js.map +0 -1
  1303. package/dist/node_modules/d3-scale/src/sequential.js +0 -67
  1304. package/dist/node_modules/d3-scale/src/sequential.js.map +0 -1
  1305. package/dist/node_modules/d3-scale/src/sequentialQuantile.js +0 -30
  1306. package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +0 -1
  1307. package/dist/node_modules/d3-scale/src/symlog.js +0 -30
  1308. package/dist/node_modules/d3-scale/src/symlog.js.map +0 -1
  1309. package/dist/node_modules/d3-scale/src/threshold.js +0 -25
  1310. package/dist/node_modules/d3-scale/src/threshold.js.map +0 -1
  1311. package/dist/node_modules/d3-scale/src/tickFormat.js +0 -31
  1312. package/dist/node_modules/d3-scale/src/tickFormat.js.map +0 -1
  1313. package/dist/node_modules/d3-scale/src/time.js +0 -47
  1314. package/dist/node_modules/d3-scale/src/time.js.map +0 -1
  1315. package/dist/node_modules/d3-scale/src/utcTime.js +0 -19
  1316. package/dist/node_modules/d3-scale/src/utcTime.js.map +0 -1
  1317. package/dist/node_modules/d3-shape/src/area.js +0 -55
  1318. package/dist/node_modules/d3-shape/src/area.js.map +0 -1
  1319. package/dist/node_modules/d3-shape/src/array.js +0 -8
  1320. package/dist/node_modules/d3-shape/src/array.js.map +0 -1
  1321. package/dist/node_modules/d3-shape/src/constant.js +0 -10
  1322. package/dist/node_modules/d3-shape/src/constant.js.map +0 -1
  1323. package/dist/node_modules/d3-shape/src/curve/basis.js +0 -49
  1324. package/dist/node_modules/d3-shape/src/curve/basis.js.map +0 -1
  1325. package/dist/node_modules/d3-shape/src/curve/basisClosed.js +0 -50
  1326. package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +0 -1
  1327. package/dist/node_modules/d3-shape/src/curve/basisOpen.js +0 -46
  1328. package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +0 -1
  1329. package/dist/node_modules/d3-shape/src/curve/bump.js +0 -40
  1330. package/dist/node_modules/d3-shape/src/curve/bump.js.map +0 -1
  1331. package/dist/node_modules/d3-shape/src/curve/linear.js +0 -36
  1332. package/dist/node_modules/d3-shape/src/curve/linear.js.map +0 -1
  1333. package/dist/node_modules/d3-shape/src/curve/linearClosed.js +0 -25
  1334. package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +0 -1
  1335. package/dist/node_modules/d3-shape/src/curve/monotone.js +0 -94
  1336. package/dist/node_modules/d3-shape/src/curve/monotone.js.map +0 -1
  1337. package/dist/node_modules/d3-shape/src/curve/natural.js +0 -39
  1338. package/dist/node_modules/d3-shape/src/curve/natural.js.map +0 -1
  1339. package/dist/node_modules/d3-shape/src/curve/step.js +0 -47
  1340. package/dist/node_modules/d3-shape/src/curve/step.js.map +0 -1
  1341. package/dist/node_modules/d3-shape/src/line.js +0 -30
  1342. package/dist/node_modules/d3-shape/src/line.js.map +0 -1
  1343. package/dist/node_modules/d3-shape/src/math.js +0 -8
  1344. package/dist/node_modules/d3-shape/src/math.js.map +0 -1
  1345. package/dist/node_modules/d3-shape/src/noop.js +0 -6
  1346. package/dist/node_modules/d3-shape/src/noop.js.map +0 -1
  1347. package/dist/node_modules/d3-shape/src/offset/expand.js +0 -15
  1348. package/dist/node_modules/d3-shape/src/offset/expand.js.map +0 -1
  1349. package/dist/node_modules/d3-shape/src/offset/none.js +0 -8
  1350. package/dist/node_modules/d3-shape/src/offset/none.js.map +0 -1
  1351. package/dist/node_modules/d3-shape/src/offset/silhouette.js +0 -15
  1352. package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +0 -1
  1353. package/dist/node_modules/d3-shape/src/offset/wiggle.js +0 -21
  1354. package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +0 -1
  1355. package/dist/node_modules/d3-shape/src/order/none.js +0 -9
  1356. package/dist/node_modules/d3-shape/src/order/none.js.map +0 -1
  1357. package/dist/node_modules/d3-shape/src/path.js +0 -19
  1358. package/dist/node_modules/d3-shape/src/path.js.map +0 -1
  1359. package/dist/node_modules/d3-shape/src/point.js +0 -11
  1360. package/dist/node_modules/d3-shape/src/point.js.map +0 -1
  1361. package/dist/node_modules/d3-shape/src/stack.js +0 -34
  1362. package/dist/node_modules/d3-shape/src/stack.js.map +0 -1
  1363. package/dist/node_modules/d3-shape/src/symbol/circle.js +0 -10
  1364. package/dist/node_modules/d3-shape/src/symbol/circle.js.map +0 -1
  1365. package/dist/node_modules/d3-shape/src/symbol/cross.js +0 -10
  1366. package/dist/node_modules/d3-shape/src/symbol/cross.js.map +0 -1
  1367. package/dist/node_modules/d3-shape/src/symbol/diamond.js +0 -10
  1368. package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +0 -1
  1369. package/dist/node_modules/d3-shape/src/symbol/square.js +0 -10
  1370. package/dist/node_modules/d3-shape/src/symbol/square.js.map +0 -1
  1371. package/dist/node_modules/d3-shape/src/symbol/star.js +0 -15
  1372. package/dist/node_modules/d3-shape/src/symbol/star.js.map +0 -1
  1373. package/dist/node_modules/d3-shape/src/symbol/triangle.js +0 -10
  1374. package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +0 -1
  1375. package/dist/node_modules/d3-shape/src/symbol/wye.js +0 -10
  1376. package/dist/node_modules/d3-shape/src/symbol/wye.js.map +0 -1
  1377. package/dist/node_modules/d3-shape/src/symbol.js +0 -23
  1378. package/dist/node_modules/d3-shape/src/symbol.js.map +0 -1
  1379. package/dist/node_modules/d3-time/src/day.js +0 -21
  1380. package/dist/node_modules/d3-time/src/day.js.map +0 -1
  1381. package/dist/node_modules/d3-time/src/duration.js +0 -6
  1382. package/dist/node_modules/d3-time/src/duration.js.map +0 -1
  1383. package/dist/node_modules/d3-time/src/hour.js +0 -19
  1384. package/dist/node_modules/d3-time/src/hour.js.map +0 -1
  1385. package/dist/node_modules/d3-time/src/interval.js +0 -28
  1386. package/dist/node_modules/d3-time/src/interval.js.map +0 -1
  1387. package/dist/node_modules/d3-time/src/millisecond.js +0 -14
  1388. package/dist/node_modules/d3-time/src/millisecond.js.map +0 -1
  1389. package/dist/node_modules/d3-time/src/minute.js +0 -19
  1390. package/dist/node_modules/d3-time/src/minute.js.map +0 -1
  1391. package/dist/node_modules/d3-time/src/month.js +0 -18
  1392. package/dist/node_modules/d3-time/src/month.js.map +0 -1
  1393. package/dist/node_modules/d3-time/src/second.js +0 -13
  1394. package/dist/node_modules/d3-time/src/second.js.map +0 -1
  1395. package/dist/node_modules/d3-time/src/ticks.js +0 -125
  1396. package/dist/node_modules/d3-time/src/ticks.js.map +0 -1
  1397. package/dist/node_modules/d3-time/src/week.js +0 -25
  1398. package/dist/node_modules/d3-time/src/week.js.map +0 -1
  1399. package/dist/node_modules/d3-time/src/year.js +0 -26
  1400. package/dist/node_modules/d3-time/src/year.js.map +0 -1
  1401. package/dist/node_modules/d3-time-format/src/defaultLocale.js +0 -62
  1402. package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +0 -1
  1403. package/dist/node_modules/d3-time-format/src/locale.js.map +0 -1
  1404. package/dist/node_modules/internmap/src/index.js +0 -40
  1405. package/dist/node_modules/internmap/src/index.js.map +0 -1
  1406. package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js.map +0 -1
  1407. package/dist/translations/en.d.ts.map +0 -1
  1408. package/dist/utils/nativeBridge.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"PackageValidationPanel.js","names":[],"sources":["../../../src/devportal/components/PackageValidationPanel.tsx"],"sourcesContent":["/**\n * PackageValidationPanel — shows the custom-node package validation report\n * (BOFF-4315) stored on `ApplicationVersion.metadata.packageValidation` by\n * global-devportal-svc.\n *\n * The service validates every uploaded NODE package before building it, and\n * refuses to submit or approve a version whose package failed. This panel is\n * how the developer learns why, and how the reviewing admin sees warnings\n * (dynamic code, unusual field types) that need a human decision.\n *\n * Below the report it shows the operation smoke run on the built node\n * (BOFF-9656, `NodeSmokePanel`), so the versions page and the admin review\n * card both show every pre-review check in one place.\n */\nimport { useState } from \"react\";\nimport type { FC } from \"react\";\nimport {\n AlertTriangle,\n CheckCircle2,\n ChevronDown,\n ChevronUp,\n Loader2,\n XCircle,\n} from \"lucide-react\";\n\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\nimport { NodeSmokePanel } from \"./NodeSmokePanel\";\n\nexport interface PackageValidationIssue {\n severity: \"error\" | \"warning\";\n code: string;\n path: string;\n message: string;\n}\n\nexport type PackageValidationState =\n | { kind: \"none\" }\n | { kind: \"pending\" }\n | {\n kind: \"passed\" | \"failed\";\n errors: PackageValidationIssue[];\n warnings: PackageValidationIssue[];\n validatedAt: string | null;\n runtime: string | null;\n operationCount: number;\n };\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction readIssues(value: unknown): PackageValidationIssue[] {\n if (!Array.isArray(value)) return [];\n return value.filter(isRecord).map((entry) => ({\n severity: entry.severity === \"warning\" ? \"warning\" : \"error\",\n code: typeof entry.code === \"string\" ? entry.code : \"\",\n path: typeof entry.path === \"string\" ? entry.path : \"\",\n message: typeof entry.message === \"string\" ? entry.message : \"\",\n }));\n}\n\n/** Parse the stored report defensively — metadata is untyped JSON. */\nexport function readPackageValidationState(\n metadata: unknown,\n): PackageValidationState {\n if (!isRecord(metadata)) return { kind: \"none\" };\n const report = metadata.packageValidation;\n if (!isRecord(report)) return { kind: \"none\" };\n if (report.pending === true) return { kind: \"pending\" };\n if (typeof report.valid !== \"boolean\") return { kind: \"none\" };\n return {\n kind: report.valid ? \"passed\" : \"failed\",\n errors: readIssues(report.errors),\n warnings: readIssues(report.warnings),\n validatedAt:\n typeof report.validatedAt === \"string\" ? report.validatedAt : null,\n runtime: typeof report.runtime === \"string\" ? report.runtime : null,\n operationCount:\n typeof report.operationCount === \"number\" ? report.operationCount : 0,\n };\n}\n\nconst IssueList: FC<{ issues: PackageValidationIssue[] }> = ({ issues }) => (\n <ul className=\"space-y-1\">\n {issues.map((issue, index) => (\n <li\n key={`${issue.code}-${issue.path}-${index}`}\n className=\"text-xs leading-snug\"\n >\n {issue.path && (\n <code className=\"mr-1 rounded bg-bg-sunken px-1 py-0.5 font-mono text-text-primary\">\n {issue.path}\n </code>\n )}\n <span\n className={\n issue.severity === \"error\"\n ? \"text-status-error-text\"\n : \"text-status-warning-text\"\n }\n >\n {issue.message}\n </span>\n </li>\n ))}\n </ul>\n);\n\ninterface PackageValidationPanelProps {\n metadata: unknown;\n /** Start expanded (the admin review card does; the versions table does not). */\n defaultExpanded?: boolean;\n className?: string;\n}\n\nexport const PackageValidationPanel: FC<PackageValidationPanelProps> = ({\n metadata,\n defaultExpanded = false,\n className,\n}) => (\n <div className={cn(\"space-y-1\", className)}>\n <ValidationReport metadata={metadata} defaultExpanded={defaultExpanded} />\n <NodeSmokePanel metadata={metadata} defaultExpanded={defaultExpanded} />\n </div>\n);\n\nconst ValidationReport: FC<PackageValidationPanelProps> = ({\n metadata,\n defaultExpanded = false,\n className,\n}) => {\n const tr = useTr();\n const state = readPackageValidationState(metadata);\n const [expanded, setExpanded] = useState(defaultExpanded);\n\n if (state.kind === \"none\") {\n return (\n <p\n className={cn(\"text-xs text-text-secondary\", className)}\n data-testid=\"package-validation\"\n data-state=\"none\"\n >\n {tr(\n \"devportal.packageValidation.none\",\n \"Package not validated (uploaded before validation existed)\",\n )}\n </p>\n );\n }\n\n if (state.kind === \"pending\") {\n return (\n <p\n className={cn(\n \"inline-flex items-center gap-1 text-xs text-status-info-text\",\n className,\n )}\n data-testid=\"package-validation\"\n data-state=\"pending\"\n >\n <Loader2 size={12} className=\"animate-spin\" />\n {tr(\"devportal.packageValidation.pending\", \"Validating package…\")}\n </p>\n );\n }\n\n const failed = state.kind === \"failed\";\n const hasDetails = state.errors.length > 0 || state.warnings.length > 0;\n const summary = failed\n ? tr(\n \"devportal.packageValidation.failed\",\n \"Validation failed: {{count}} error(s)\",\n { count: state.errors.length },\n )\n : tr(\"devportal.packageValidation.passed\", \"Package validated\");\n\n return (\n <div\n className={cn(\"space-y-1\", className)}\n data-testid=\"package-validation\"\n data-state={state.kind}\n >\n <button\n type=\"button\"\n onClick={() => hasDetails && setExpanded((value) => !value)}\n className={cn(\n \"inline-flex items-center gap-1 text-xs font-medium\",\n failed ? \"text-status-error-text\" : \"text-status-success-text\",\n hasDetails ? \"hover:underline\" : \"cursor-default\",\n )}\n aria-expanded={hasDetails ? expanded : undefined}\n >\n {failed ? <XCircle size={12} /> : <CheckCircle2 size={12} />}\n {summary}\n {state.warnings.length > 0 && (\n <span className=\"inline-flex items-center gap-0.5 text-status-warning-text\">\n <AlertTriangle size={12} />\n {tr(\n \"devportal.packageValidation.warnings\",\n \"{{count}} warning(s)\",\n { count: state.warnings.length },\n )}\n </span>\n )}\n {hasDetails &&\n (expanded ? <ChevronUp size={12} /> : <ChevronDown size={12} />)}\n </button>\n {expanded && hasDetails && (\n <div className=\"max-w-md space-y-2 rounded-md border border-border-seam bg-bg-surface p-2\">\n {state.errors.length > 0 && (\n <div>\n <p className=\"mb-1 text-xs font-semibold text-status-error-text\">\n {tr(\"devportal.packageValidation.errorsTitle\", \"Errors\")}\n </p>\n <IssueList issues={state.errors} />\n </div>\n )}\n {state.warnings.length > 0 && (\n <div>\n <p className=\"mb-1 text-xs font-semibold text-status-warning-text\">\n {tr(\n \"devportal.packageValidation.warningsTitle\",\n \"Needs reviewer attention\",\n )}\n </p>\n <IssueList issues={state.warnings} />\n </div>\n )}\n <p className=\"text-[11px] text-text-secondary\">\n {[\n state.runtime &&\n tr(\n \"devportal.packageValidation.runtime\",\n \"Runtime: {{runtime}}\",\n {\n runtime: state.runtime,\n },\n ),\n tr(\n \"devportal.packageValidation.operations\",\n \"{{count}} operation(s)\",\n { count: state.operationCount },\n ),\n state.validatedAt && new Date(state.validatedAt).toLocaleString(),\n ]\n .filter(Boolean)\n .join(\" · \")}\n </p>\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"PackageValidationPanel.js","names":["isRecord","value","readIssues","entry","readPackageValidationState","metadata","report","IssueList","issues","issue","index","PackageValidationPanel","cn","className","ValidationReport","NodeSmokePanel","tr","useTr","state","expanded","setExpanded","useState","defaultExpanded","Loader2","failed","hasDetails","summary","jsx","XCircle","CheckCircle2","AlertTriangle","ChevronUp","ChevronDown"],"sources":["../../../src/devportal/components/PackageValidationPanel.tsx"],"sourcesContent":["/**\n * PackageValidationPanel — shows the custom-node package validation report\n * (BOFF-4315) stored on `ApplicationVersion.metadata.packageValidation` by\n * global-devportal-svc.\n *\n * The service validates every uploaded NODE package before building it, and\n * refuses to submit or approve a version whose package failed. This panel is\n * how the developer learns why, and how the reviewing admin sees warnings\n * (dynamic code, unusual field types) that need a human decision.\n *\n * Below the report it shows the operation smoke run on the built node\n * (BOFF-9656, `NodeSmokePanel`), so the versions page and the admin review\n * card both show every pre-review check in one place.\n */\nimport { useState } from \"react\";\nimport type { FC } from \"react\";\nimport {\n AlertTriangle,\n CheckCircle2,\n ChevronDown,\n ChevronUp,\n Loader2,\n XCircle,\n} from \"lucide-react\";\n\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\nimport { NodeSmokePanel } from \"./NodeSmokePanel\";\n\nexport interface PackageValidationIssue {\n severity: \"error\" | \"warning\";\n code: string;\n path: string;\n message: string;\n}\n\nexport type PackageValidationState =\n | { kind: \"none\" }\n | { kind: \"pending\" }\n | {\n kind: \"passed\" | \"failed\";\n errors: PackageValidationIssue[];\n warnings: PackageValidationIssue[];\n validatedAt: string | null;\n runtime: string | null;\n operationCount: number;\n };\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction readIssues(value: unknown): PackageValidationIssue[] {\n if (!Array.isArray(value)) return [];\n return value.filter(isRecord).map((entry) => ({\n severity: entry.severity === \"warning\" ? \"warning\" : \"error\",\n code: typeof entry.code === \"string\" ? entry.code : \"\",\n path: typeof entry.path === \"string\" ? entry.path : \"\",\n message: typeof entry.message === \"string\" ? entry.message : \"\",\n }));\n}\n\n/** Parse the stored report defensively — metadata is untyped JSON. */\nexport function readPackageValidationState(\n metadata: unknown,\n): PackageValidationState {\n if (!isRecord(metadata)) return { kind: \"none\" };\n const report = metadata.packageValidation;\n if (!isRecord(report)) return { kind: \"none\" };\n if (report.pending === true) return { kind: \"pending\" };\n if (typeof report.valid !== \"boolean\") return { kind: \"none\" };\n return {\n kind: report.valid ? \"passed\" : \"failed\",\n errors: readIssues(report.errors),\n warnings: readIssues(report.warnings),\n validatedAt:\n typeof report.validatedAt === \"string\" ? report.validatedAt : null,\n runtime: typeof report.runtime === \"string\" ? report.runtime : null,\n operationCount:\n typeof report.operationCount === \"number\" ? report.operationCount : 0,\n };\n}\n\nconst IssueList: FC<{ issues: PackageValidationIssue[] }> = ({ issues }) => (\n <ul className=\"space-y-1\">\n {issues.map((issue, index) => (\n <li\n key={`${issue.code}-${issue.path}-${index}`}\n className=\"text-xs leading-snug\"\n >\n {issue.path && (\n <code className=\"mr-1 rounded bg-bg-sunken px-1 py-0.5 font-mono text-text-primary\">\n {issue.path}\n </code>\n )}\n <span\n className={\n issue.severity === \"error\"\n ? \"text-status-error-text\"\n : \"text-status-warning-text\"\n }\n >\n {issue.message}\n </span>\n </li>\n ))}\n </ul>\n);\n\ninterface PackageValidationPanelProps {\n metadata: unknown;\n /** Start expanded (the admin review card does; the versions table does not). */\n defaultExpanded?: boolean;\n className?: string;\n}\n\nexport const PackageValidationPanel: FC<PackageValidationPanelProps> = ({\n metadata,\n defaultExpanded = false,\n className,\n}) => (\n <div className={cn(\"space-y-1\", className)}>\n <ValidationReport metadata={metadata} defaultExpanded={defaultExpanded} />\n <NodeSmokePanel metadata={metadata} defaultExpanded={defaultExpanded} />\n </div>\n);\n\nconst ValidationReport: FC<PackageValidationPanelProps> = ({\n metadata,\n defaultExpanded = false,\n className,\n}) => {\n const tr = useTr();\n const state = readPackageValidationState(metadata);\n const [expanded, setExpanded] = useState(defaultExpanded);\n\n if (state.kind === \"none\") {\n return (\n <p\n className={cn(\"text-xs text-text-secondary\", className)}\n data-testid=\"package-validation\"\n data-state=\"none\"\n >\n {tr(\n \"devportal.packageValidation.none\",\n \"Package not validated (uploaded before validation existed)\",\n )}\n </p>\n );\n }\n\n if (state.kind === \"pending\") {\n return (\n <p\n className={cn(\n \"inline-flex items-center gap-1 text-xs text-status-info-text\",\n className,\n )}\n data-testid=\"package-validation\"\n data-state=\"pending\"\n >\n <Loader2 size={12} className=\"animate-spin\" />\n {tr(\"devportal.packageValidation.pending\", \"Validating package…\")}\n </p>\n );\n }\n\n const failed = state.kind === \"failed\";\n const hasDetails = state.errors.length > 0 || state.warnings.length > 0;\n const summary = failed\n ? tr(\n \"devportal.packageValidation.failed\",\n \"Validation failed: {{count}} error(s)\",\n { count: state.errors.length },\n )\n : tr(\"devportal.packageValidation.passed\", \"Package validated\");\n\n return (\n <div\n className={cn(\"space-y-1\", className)}\n data-testid=\"package-validation\"\n data-state={state.kind}\n >\n <button\n type=\"button\"\n onClick={() => hasDetails && setExpanded((value) => !value)}\n className={cn(\n \"inline-flex items-center gap-1 text-xs font-medium\",\n failed ? \"text-status-error-text\" : \"text-status-success-text\",\n hasDetails ? \"hover:underline\" : \"cursor-default\",\n )}\n aria-expanded={hasDetails ? expanded : undefined}\n >\n {failed ? <XCircle size={12} /> : <CheckCircle2 size={12} />}\n {summary}\n {state.warnings.length > 0 && (\n <span className=\"inline-flex items-center gap-0.5 text-status-warning-text\">\n <AlertTriangle size={12} />\n {tr(\n \"devportal.packageValidation.warnings\",\n \"{{count}} warning(s)\",\n { count: state.warnings.length },\n )}\n </span>\n )}\n {hasDetails &&\n (expanded ? <ChevronUp size={12} /> : <ChevronDown size={12} />)}\n </button>\n {expanded && hasDetails && (\n <div className=\"max-w-md space-y-2 rounded-md border border-border-seam bg-bg-surface p-2\">\n {state.errors.length > 0 && (\n <div>\n <p className=\"mb-1 text-xs font-semibold text-status-error-text\">\n {tr(\"devportal.packageValidation.errorsTitle\", \"Errors\")}\n </p>\n <IssueList issues={state.errors} />\n </div>\n )}\n {state.warnings.length > 0 && (\n <div>\n <p className=\"mb-1 text-xs font-semibold text-status-warning-text\">\n {tr(\n \"devportal.packageValidation.warningsTitle\",\n \"Needs reviewer attention\",\n )}\n </p>\n <IssueList issues={state.warnings} />\n </div>\n )}\n <p className=\"text-[11px] text-text-secondary\">\n {[\n state.runtime &&\n tr(\n \"devportal.packageValidation.runtime\",\n \"Runtime: {{runtime}}\",\n {\n runtime: state.runtime,\n },\n ),\n tr(\n \"devportal.packageValidation.operations\",\n \"{{count}} operation(s)\",\n { count: state.operationCount },\n ),\n state.validatedAt && new Date(state.validatedAt).toLocaleString(),\n ]\n .filter(Boolean)\n .join(\" · \")}\n </p>\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { FC, HTMLAttributes, ReactNode } from 'react';
2
-
3
2
  interface PageLayoutProps {
4
3
  title: ReactNode;
5
4
  description?: string;
@@ -40,4 +39,3 @@ export declare const PageSection: FC<{
40
39
  className?: string;
41
40
  } & HTMLAttributes<HTMLElement>>;
42
41
  export {};
43
- //# sourceMappingURL=PageLayout.d.ts.map
@@ -1,16 +1,16 @@
1
- import { useDevportal as e } from "../providers/DevportalProvider.js";
1
+ import { cn as e } from "../utils/cn.js";
2
2
  import { useTr as t } from "../utils/i18n.js";
3
- import { cn as n } from "../utils/cn.js";
3
+ import { useDevportal as n } from "../providers/DevportalProvider.js";
4
4
  import { ArrowLeft as r } from "lucide-react";
5
5
  import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
6
  import { AuroraBackground as o, PagePurpose as s } from "@burdenoff/fe-libs/ui";
7
- //#region src/devportal/components/PageLayout.tsx
7
+ // src/devportal/components/PageLayout.tsx
8
8
  var c = ({ title: c, description: l, backLink: u, backLabel: d, actions: f, children: p, className: m, fullWidth: h = !1, purpose: g, purposeLearnMoreHref: _, purposeLearnMoreLabel: v, heroBackdrop: y = !1 }) => {
9
- let { navigate: b, basePath: x } = e(), S = t(), C = d ?? S("devportal.back", "Back");
9
+ let { navigate: b, basePath: x } = n(), S = t(), C = d ?? S("devportal.back", "Back");
10
10
  return /* @__PURE__ */ a("div", {
11
- className: n("flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8 lg:px-8 lg:py-10 xl:px-12", m),
11
+ className: e("flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8 lg:px-8 lg:py-10 xl:px-12", m),
12
12
  children: [/* @__PURE__ */ a("div", {
13
- className: n("flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between", y && "relative overflow-hidden rounded-card border border-border-seam/60 px-5 py-5 sm:px-6 sm:py-6"),
13
+ className: e("flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between", y && "relative overflow-hidden rounded-card border border-border-seam/60 px-5 py-5 sm:px-6 sm:py-6"),
14
14
  children: [
15
15
  y && /* @__PURE__ */ i(o, { intensity: "subtle" }),
16
16
  /* @__PURE__ */ a("div", {
@@ -19,8 +19,8 @@ var c = ({ title: c, description: l, backLink: u, backLabel: d, actions: f, chil
19
19
  u && /* @__PURE__ */ a("button", {
20
20
  onClick: () => {
21
21
  if (!b || !u) return;
22
- let e = x?.endsWith("/") ? x.slice(0, -1) : x || "", t = u.startsWith("/") ? u : `/${u}`;
23
- b(e.length > 0 && (t === e || t.startsWith(`${e}/`)) ? t : `${e}${t}`);
22
+ let e = x?.endsWith("/") ? x.slice(0, -1) : x || "", t = u.startsWith("/") ? u : `/${u}`, n = e.length > 0 && (t === e || t.startsWith(`${e}/`));
23
+ b(n ? t : `${e}${t}`);
24
24
  },
25
25
  className: "mb-2 flex items-center gap-1 text-sm text-text-secondary hover:text-text-primary transition-colors",
26
26
  children: [/* @__PURE__ */ i(r, { size: 16 }), C]
@@ -47,28 +47,27 @@ var c = ({ title: c, description: l, backLink: u, backLabel: d, actions: f, chil
47
47
  })
48
48
  ]
49
49
  }), /* @__PURE__ */ i("div", {
50
- className: n("flex flex-col gap-4 sm:gap-6", !h && "max-w-7xl"),
50
+ className: e("flex flex-col gap-4 sm:gap-6", !h && "max-w-7xl"),
51
51
  children: p
52
52
  })]
53
53
  });
54
- }, l = ({ title: e, description: t, actions: r, children: o, className: s, ...c }) => /* @__PURE__ */ a("section", {
55
- className: n("space-y-4", s),
54
+ }, l = ({ title: t, description: n, actions: r, children: o, className: s, ...c }) => /* @__PURE__ */ a("section", {
55
+ className: e("space-y-4", s),
56
56
  ...c,
57
- children: [(e || r) && /* @__PURE__ */ a("div", {
57
+ children: [(t || r) && /* @__PURE__ */ a("div", {
58
58
  className: "flex items-center justify-between",
59
- children: [/* @__PURE__ */ a("div", { children: [e && /* @__PURE__ */ i("h2", {
59
+ children: [/* @__PURE__ */ a("div", { children: [t && /* @__PURE__ */ i("h2", {
60
60
  className: "text-lg font-semibold",
61
- children: e
62
- }), t && /* @__PURE__ */ i("p", {
63
- className: "text-sm text-text-secondary",
64
61
  children: t
62
+ }), n && /* @__PURE__ */ i("p", {
63
+ className: "text-sm text-text-secondary",
64
+ children: n
65
65
  })] }), r && /* @__PURE__ */ i("div", {
66
66
  className: "flex items-center gap-2",
67
67
  children: r
68
68
  })]
69
69
  }), o]
70
70
  });
71
- //#endregion
72
71
  export { c as PageLayout, l as PageSection };
73
72
 
74
73
  //# sourceMappingURL=PageLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PageLayout.js","names":[],"sources":["../../../src/devportal/components/PageLayout.tsx"],"sourcesContent":["import type { FC, HTMLAttributes, ReactNode } from \"react\";\nimport { ArrowLeft } from \"lucide-react\";\nimport { AuroraBackground, PagePurpose } from \"@burdenoff/fe-libs/ui\";\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\nimport { useDevportal } from \"../providers/DevportalProvider\";\n\ninterface PageLayoutProps {\n title: ReactNode;\n description?: string;\n backLink?: string;\n backLabel?: string;\n actions?: ReactNode;\n children: ReactNode;\n className?: string;\n fullWidth?: boolean;\n /**\n * Plain-language \"story\" for the page — WHAT it is for and the real use-case\n * — rendered as a calm {@link PagePurpose} under the header so every page is\n * self-explanatory for a new user. Keep it to one or two sentences.\n */\n purpose?: ReactNode;\n /** Optional \"Learn more\" link rendered at the end of the purpose line. */\n purposeLearnMoreHref?: string;\n purposeLearnMoreLabel?: string;\n /**\n * When true the page header sits over a subtle living-glass aurora backdrop\n * (Boff UI 2.0). Reserve this for the MFE's primary/overview page — one\n * aurora per MFE. The backdrop is decorative (-z-10) and never moves content.\n */\n heroBackdrop?: boolean;\n}\n\n/**\n * Standard page layout with header, optional back link, and actions\n */\nexport const PageLayout: FC<PageLayoutProps> = ({\n title,\n description,\n backLink,\n backLabel,\n actions,\n children,\n className,\n fullWidth = false,\n purpose,\n purposeLearnMoreHref,\n purposeLearnMoreLabel,\n heroBackdrop = false,\n}) => {\n const { navigate, basePath } = useDevportal();\n const tr = useTr();\n const resolvedBackLabel = backLabel ?? tr(\"devportal.back\", \"Back\");\n\n const handleBack = () => {\n if (!navigate || !backLink) return;\n\n const normalizedBasePath = basePath?.endsWith(\"/\")\n ? basePath.slice(0, -1)\n : basePath || \"\";\n const normalizedBackLink = backLink.startsWith(\"/\")\n ? backLink\n : `/${backLink}`;\n const alreadyIncludesBasePath =\n normalizedBasePath.length > 0 &&\n (normalizedBackLink === normalizedBasePath ||\n normalizedBackLink.startsWith(`${normalizedBasePath}/`));\n\n navigate(\n alreadyIncludesBasePath\n ? normalizedBackLink\n : `${normalizedBasePath}${normalizedBackLink}`,\n );\n };\n\n return (\n <div\n className={cn(\n \"flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8 lg:px-8 lg:py-10 xl:px-12\",\n className,\n )}\n >\n {/* Header — optionally over a subtle living-glass aurora backdrop */}\n <div\n className={cn(\n \"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\",\n heroBackdrop &&\n \"relative overflow-hidden rounded-card border border-border-seam/60 px-5 py-5 sm:px-6 sm:py-6\",\n )}\n >\n {heroBackdrop && <AuroraBackground intensity=\"subtle\" />}\n <div className=\"flex flex-col gap-1\">\n {backLink && (\n <button\n onClick={handleBack}\n className=\"mb-2 flex items-center gap-1 text-sm text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft size={16} />\n {resolvedBackLabel}\n </button>\n )}\n <h1 className=\"text-2xl font-bold tracking-tight\">{title}</h1>\n {description && <p className=\"text-text-secondary\">{description}</p>}\n {purpose && (\n <PagePurpose\n className=\"mt-1 max-w-2xl\"\n learnMoreHref={purposeLearnMoreHref}\n learnMoreLabel={purposeLearnMoreLabel}\n >\n {purpose}\n </PagePurpose>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-2\">{actions}</div>}\n </div>\n\n {/* Content */}\n <div\n className={cn(\n \"flex flex-col gap-4 sm:gap-6\",\n !fullWidth && \"max-w-7xl\",\n )}\n >\n {children}\n </div>\n </div>\n );\n};\n\n/**\n * Section within a page\n */\nexport const PageSection: FC<\n {\n title?: string;\n description?: string;\n actions?: ReactNode;\n children: ReactNode;\n className?: string;\n } & HTMLAttributes<HTMLElement>\n> = ({ title, description, actions, children, className, ...rest }) => (\n <section className={cn(\"space-y-4\", className)} {...rest}>\n {(title || actions) && (\n <div className=\"flex items-center justify-between\">\n <div>\n {title && <h2 className=\"text-lg font-semibold\">{title}</h2>}\n {description && (\n <p className=\"text-sm text-text-secondary\">{description}</p>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-2\">{actions}</div>}\n </div>\n )}\n {children}\n </section>\n);\n"],"mappings":";;;;;;;AAoCA,IAAa,KAAmC,EAC9C,UACA,gBACA,aACA,cACA,YACA,aACA,cACA,eAAY,IACZ,YACA,yBACA,0BACA,kBAAe,SACX;CACJ,IAAM,EAAE,aAAU,gBAAa,GAAc,EACvC,IAAK,GAAO,EACZ,IAAoB,KAAa,EAAG,kBAAkB,OAAO;AAuBnE,QACE,kBAAC,OAAD;EACE,WAAW,EACT,2EACA,EACD;YAJH,CAOE,kBAAC,OAAD;GACE,WAAW,EACT,sEACA,KACE,+FACH;aALH;IAOG,KAAgB,kBAAC,GAAD,EAAkB,WAAU,UAAW,CAAA;IACxD,kBAAC,OAAD;KAAK,WAAU;eAAf;MACG,KACC,kBAAC,UAAD;OACE,eAxCa;AACvB,YAAI,CAAC,KAAY,CAAC,EAAU;QAE5B,IAAM,IAAqB,GAAU,SAAS,IAAI,GAC9C,EAAS,MAAM,GAAG,GAAG,GACrB,KAAY,IACV,IAAqB,EAAS,WAAW,IAAI,GAC/C,IACA,IAAI;AAMR,UAJE,EAAmB,SAAS,MAC3B,MAAuB,KACtB,EAAmB,WAAW,GAAG,EAAmB,GAAG,IAIrD,IACA,GAAG,IAAqB,IAC7B;;OAuBS,WAAU;iBAFZ,CAIE,kBAAC,GAAD,EAAW,MAAM,IAAM,CAAA,EACtB,EACM;;MAEX,kBAAC,MAAD;OAAI,WAAU;iBAAqC;OAAW,CAAA;MAC7D,KAAe,kBAAC,KAAD;OAAG,WAAU;iBAAuB;OAAgB,CAAA;MACnE,KACC,kBAAC,GAAD;OACE,WAAU;OACV,eAAe;OACf,gBAAgB;iBAEf;OACW,CAAA;MAEZ;;IACL,KAAW,kBAAC,OAAD;KAAK,WAAU;eAA2B;KAAc,CAAA;IAChE;MAGN,kBAAC,OAAD;GACE,WAAW,EACT,gCACA,CAAC,KAAa,YACf;GAEA;GACG,CAAA,CACF;;GAOG,KAQR,EAAE,UAAO,gBAAa,YAAS,aAAU,cAAW,GAAG,QAC1D,kBAAC,WAAD;CAAS,WAAW,EAAG,aAAa,EAAU;CAAE,GAAI;WAApD,EACI,KAAS,MACT,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACG,KAAS,kBAAC,MAAD;GAAI,WAAU;aAAyB;GAAW,CAAA,EAC3D,KACC,kBAAC,KAAD;GAAG,WAAU;aAA+B;GAAgB,CAAA,CAE1D,EAAA,CAAA,EACL,KAAW,kBAAC,OAAD;GAAK,WAAU;aAA2B;GAAc,CAAA,CAChE;KAEP,EACO"}
1
+ {"version":3,"file":"PageLayout.js","names":["PageLayout","useDevportal","tr","useTr","resolvedBackLabel","backLabel","cn","className","heroBackdrop","AuroraBackground","backLink","navigate","normalizedBasePath","basePath","normalizedBackLink","alreadyIncludesBasePath","ArrowLeft","title","description","purpose","PagePurpose","purposeLearnMoreHref","purposeLearnMoreLabel","actions","fullWidth","PageSection","rest","children"],"sources":["../../../src/devportal/components/PageLayout.tsx"],"sourcesContent":["import type { FC, HTMLAttributes, ReactNode } from \"react\";\nimport { ArrowLeft } from \"lucide-react\";\nimport { AuroraBackground, PagePurpose } from \"@burdenoff/fe-libs/ui\";\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\nimport { useDevportal } from \"../providers/DevportalProvider\";\n\ninterface PageLayoutProps {\n title: ReactNode;\n description?: string;\n backLink?: string;\n backLabel?: string;\n actions?: ReactNode;\n children: ReactNode;\n className?: string;\n fullWidth?: boolean;\n /**\n * Plain-language \"story\" for the page — WHAT it is for and the real use-case\n * — rendered as a calm {@link PagePurpose} under the header so every page is\n * self-explanatory for a new user. Keep it to one or two sentences.\n */\n purpose?: ReactNode;\n /** Optional \"Learn more\" link rendered at the end of the purpose line. */\n purposeLearnMoreHref?: string;\n purposeLearnMoreLabel?: string;\n /**\n * When true the page header sits over a subtle living-glass aurora backdrop\n * (Boff UI 2.0). Reserve this for the MFE's primary/overview page — one\n * aurora per MFE. The backdrop is decorative (-z-10) and never moves content.\n */\n heroBackdrop?: boolean;\n}\n\n/**\n * Standard page layout with header, optional back link, and actions\n */\nexport const PageLayout: FC<PageLayoutProps> = ({\n title,\n description,\n backLink,\n backLabel,\n actions,\n children,\n className,\n fullWidth = false,\n purpose,\n purposeLearnMoreHref,\n purposeLearnMoreLabel,\n heroBackdrop = false,\n}) => {\n const { navigate, basePath } = useDevportal();\n const tr = useTr();\n const resolvedBackLabel = backLabel ?? tr(\"devportal.back\", \"Back\");\n\n const handleBack = () => {\n if (!navigate || !backLink) return;\n\n const normalizedBasePath = basePath?.endsWith(\"/\")\n ? basePath.slice(0, -1)\n : basePath || \"\";\n const normalizedBackLink = backLink.startsWith(\"/\")\n ? backLink\n : `/${backLink}`;\n const alreadyIncludesBasePath =\n normalizedBasePath.length > 0 &&\n (normalizedBackLink === normalizedBasePath ||\n normalizedBackLink.startsWith(`${normalizedBasePath}/`));\n\n navigate(\n alreadyIncludesBasePath\n ? normalizedBackLink\n : `${normalizedBasePath}${normalizedBackLink}`,\n );\n };\n\n return (\n <div\n className={cn(\n \"flex flex-col gap-6 px-4 py-6 sm:px-6 sm:py-8 lg:px-8 lg:py-10 xl:px-12\",\n className,\n )}\n >\n {/* Header — optionally over a subtle living-glass aurora backdrop */}\n <div\n className={cn(\n \"flex flex-col gap-4 sm:flex-row sm:items-center sm:justify-between\",\n heroBackdrop &&\n \"relative overflow-hidden rounded-card border border-border-seam/60 px-5 py-5 sm:px-6 sm:py-6\",\n )}\n >\n {heroBackdrop && <AuroraBackground intensity=\"subtle\" />}\n <div className=\"flex flex-col gap-1\">\n {backLink && (\n <button\n onClick={handleBack}\n className=\"mb-2 flex items-center gap-1 text-sm text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft size={16} />\n {resolvedBackLabel}\n </button>\n )}\n <h1 className=\"text-2xl font-bold tracking-tight\">{title}</h1>\n {description && <p className=\"text-text-secondary\">{description}</p>}\n {purpose && (\n <PagePurpose\n className=\"mt-1 max-w-2xl\"\n learnMoreHref={purposeLearnMoreHref}\n learnMoreLabel={purposeLearnMoreLabel}\n >\n {purpose}\n </PagePurpose>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-2\">{actions}</div>}\n </div>\n\n {/* Content */}\n <div\n className={cn(\n \"flex flex-col gap-4 sm:gap-6\",\n !fullWidth && \"max-w-7xl\",\n )}\n >\n {children}\n </div>\n </div>\n );\n};\n\n/**\n * Section within a page\n */\nexport const PageSection: FC<\n {\n title?: string;\n description?: string;\n actions?: ReactNode;\n children: ReactNode;\n className?: string;\n } & HTMLAttributes<HTMLElement>\n> = ({ title, description, actions, children, className, ...rest }) => (\n <section className={cn(\"space-y-4\", className)} {...rest}>\n {(title || actions) && (\n <div className=\"flex items-center justify-between\">\n <div>\n {title && <h2 className=\"text-lg font-semibold\">{title}</h2>}\n {description && (\n <p className=\"text-sm text-text-secondary\">{description}</p>\n )}\n </div>\n {actions && <div className=\"flex items-center gap-2\">{actions}</div>}\n </div>\n )}\n {children}\n </section>\n);\n"],"mappings":";;;;;;;AAoCA,IAAaA,KAAmC,EAC9C,UACA,gBACA,aACA,cACA,YACA,aACA,cACA,eAAY,IACZ,YACA,yBACA,0BACA,kBAAe,SACX;CACJ,IAAM,EAAE,aAAU,gBAAaC,EAAa,GACtCC,IAAKC,EAAM,GACXC,IAAoBC,KAAaH,EAAG,kBAAkB,MAAM;CAuBlE,OACE,kBAAC,OAAD;EACE,WAAWI,EACT,2EACAC,CACF;EAJF,UAAA,CAOE,kBAAC,OAAD;GACE,WAAWD,EACT,sEACAE,KACE,8FACJ;GALF,UAAA;IAOGA,KAAgB,kBAACC,GAAD,EAAkB,WAAU,SAAU,CAAA;IACvD,kBAAC,OAAD;KAAK,WAAU;KAAf,UAAA;MACGC,KACC,kBAAC,UAAD;OACE,eAxCa;QACvB,IAAI,CAACC,KAAY,CAACD,GAAU;QAE5B,IAAME,IAAqBC,GAAU,SAAS,GAAG,IAC7CA,EAAS,MAAM,GAAG,EAAE,IACpBA,KAAY,IACVC,IAAqBJ,EAAS,WAAW,GAAG,IAC9CA,IACA,IAAIA,KACFK,IACJH,EAAmB,SAAS,MAC3BE,MAAuBF,KACtBE,EAAmB,WAAW,GAAGF,EAAmB,EAAE;QAE1D,EACEG,IACID,IACA,GAAGF,IAAqBE,GAC9B;OACF;OAsBY,WAAU;OAFZ,UAAA,CAIE,kBAACE,GAAD,EAAW,MAAM,GAAK,CAAA,GACrBZ,CACK;;MAEV,kBAAC,MAAD;OAAI,WAAU;OAAqC,UAAAa;MAAU,CAAA;MAC5DC,KAAe,kBAAC,KAAD;OAAG,WAAU;OAAuB,UAAAA;MAAe,CAAA;MAClEC,KACC,kBAACC,GAAD;OACE,WAAU;OACV,eAAeC;OACf,gBAAgBC;OAEf,UAAAH;MACU,CAAA;KAEZ;;IACJI,KAAW,kBAAC,OAAD;KAAK,WAAU;KAA2B,UAAAA;IAAa,CAAA;GAChE;EAGL,CAAA,GAAA,kBAAC,OAAD;GACE,WAAWjB,EACT,gCACA,CAACkB,KAAa,WAChB;GAEC;EACE,CAAA,CACF;;AAET,GAKaC,KAQR,EAAE,UAAO,gBAAa,YAAS,aAAU,cAAW,GAAGC,QAC1D,kBAAC,WAAD;CAAS,WAAWpB,EAAG,aAAaC,CAAS;CAAG,GAAImB;CAApD,UAAA,EACIT,KAASM,MACT,kBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,kBAAC,OAAD,EAAA,UAAA,CACGN,KAAS,kBAAC,MAAD;GAAI,WAAU;GAAyB,UAAAA;EAAU,CAAA,GAC1DC,KACC,kBAAC,KAAD;GAAG,WAAU;GAA+B,UAAAA;EAAe,CAAA,CAE1D,EAAA,CAAA,GACJK,KAAW,kBAAC,OAAD;GAAK,WAAU;GAA2B,UAAAA;EAAa,CAAA,CAChE;CAEN,CAAA,GAAAI,CACM"}
@@ -1,6 +1,5 @@
1
1
  import { FC, ReactNode } from 'react';
2
2
  import { DevportalPermission } from '../constants/permissions';
3
-
4
3
  interface PermissionGuardProps {
5
4
  /**
6
5
  * Required RBAC permission. Optional when `authOnly` is set — self-scoped
@@ -25,4 +24,3 @@ interface PermissionGuardProps {
25
24
  */
26
25
  export declare const PermissionGuard: FC<PermissionGuardProps>;
27
26
  export {};
28
- //# sourceMappingURL=PermissionGuard.d.ts.map
@@ -1,10 +1,10 @@
1
- import { useTr as e } from "../utils/i18n.js";
2
- import { PageLoadingState as t } from "./LoadingState.js";
1
+ import { PageLoadingState as e } from "./LoadingState.js";
2
+ import { useTr as t } from "../utils/i18n.js";
3
3
  import { AccessDenied as n } from "@burdenoff/fe-libs/shared/components";
4
4
  import { usePermissions as r } from "@burdenoff/fe-libs/shared/providers/shell";
5
5
  import { Fragment as i, jsx as a } from "react/jsx-runtime";
6
6
  import { useAuth as o } from "@burdenoff/fe-libs/shared/providers/shell/AuthProvider";
7
- //#region src/devportal/components/PermissionGuard.tsx
7
+ // src/devportal/components/PermissionGuard.tsx
8
8
  var s = ({ permission: s, authOnly: c = !1, children: l }) => {
9
9
  let u = null, d = !1, f = !1, p = !1;
10
10
  try {
@@ -18,10 +18,10 @@ var s = ({ permission: s, authOnly: c = !1, children: l }) => {
18
18
  } catch {
19
19
  p = !1;
20
20
  }
21
- let m = typeof window < "u" && (window.location.hostname === "localhost" || window.location.hostname.endsWith(".local.burdenoff.com")) && p, h = e();
21
+ let m = typeof window < "u" && (window.location.hostname === "localhost" || window.location.hostname.endsWith(".local.burdenoff.com")) && p, h = t();
22
22
  return d ? /* @__PURE__ */ a("div", {
23
23
  className: "flex min-h-screen items-center justify-center bg-bg-canvas",
24
- children: /* @__PURE__ */ a(t, {})
24
+ children: /* @__PURE__ */ a(e, {})
25
25
  }) : c ? u !== null && !p && !m ? /* @__PURE__ */ a(n, {
26
26
  title: h("devportal.accessDenied", "Access Denied"),
27
27
  description: h("devportal.noPermissionView", "You don't have permission to view this page.")
@@ -30,7 +30,6 @@ var s = ({ permission: s, authOnly: c = !1, children: l }) => {
30
30
  description: h("devportal.noPermissionView", "You don't have permission to view this page.")
31
31
  }) : /* @__PURE__ */ a(i, { children: l });
32
32
  };
33
- //#endregion
34
33
  export { s as PermissionGuard };
35
34
 
36
35
  //# sourceMappingURL=PermissionGuard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PermissionGuard.js","names":[],"sources":["../../../src/devportal/components/PermissionGuard.tsx"],"sourcesContent":["import type { FC, ReactNode } from \"react\";\nimport { usePermissions } from \"@burdenoff/fe-libs/shared/providers/shell\";\nimport { useAuth } from \"@burdenoff/fe-libs/shared/providers/shell/AuthProvider\";\nimport { AccessDenied } from \"@burdenoff/fe-libs/shared/components\";\nimport { PageLoadingState } from \"./LoadingState\";\nimport { useTr } from \"../utils/i18n\";\nimport type { DevportalPermission } from \"../constants/permissions\";\n\ninterface PermissionGuardProps {\n /**\n * Required RBAC permission. Optional when `authOnly` is set — self-scoped\n * developer surfaces gate on authentication only (see `authOnly`).\n */\n permission?: DevportalPermission;\n /**\n * Self-scoped mode. The corresponding backend fields are gated with\n * `@rbac(scopeType: \"self\")` — an authentication gate whose resolvers filter\n * strictly to the caller's own resources. Such fields carry no RBAC\n * permission in `myPermissions`, so a permission check would wrongly deny\n * every normal member. In this mode we render for any authenticated user and\n * let the backend self-enforce per resource.\n */\n authOnly?: boolean;\n children: ReactNode;\n}\n\n/**\n * Wraps page content with a permission check.\n * Shows a loading state while permissions resolve, then either\n * renders children (if permitted) or an AccessDenied screen.\n */\nexport const PermissionGuard: FC<PermissionGuardProps> = ({\n permission,\n authOnly = false,\n children,\n}) => {\n let hasPermission: ((permission: DevportalPermission) => boolean) | null =\n null;\n let isLoading = false;\n let isRbacAdmin = false;\n let isAuthenticated = false;\n\n try {\n const permissions = usePermissions();\n hasPermission = permissions.hasPermission as (\n permission: DevportalPermission,\n ) => boolean;\n isLoading = permissions.isLoading;\n isRbacAdmin =\n permissions.permissions?.permissions?.some(\n (entry) => entry.resourceType === \"rbac\" && entry.level === \"ADMIN\",\n ) ?? false;\n } catch {\n // Standalone/dev mode intentionally allows rendering without shell RBAC context.\n hasPermission = null;\n isLoading = false;\n isRbacAdmin = false;\n }\n\n try {\n const auth = useAuth();\n isAuthenticated = auth.isAuthenticated;\n } catch {\n isAuthenticated = false;\n }\n\n const isLocalShellDev =\n typeof window !== \"undefined\" &&\n (window.location.hostname === \"localhost\" ||\n window.location.hostname.endsWith(\".local.burdenoff.com\"));\n\n const allowLocalShellBypass = isLocalShellDev && isAuthenticated;\n const tr = useTr();\n\n if (isLoading) {\n return (\n <div className=\"flex min-h-screen items-center justify-center bg-bg-canvas\">\n <PageLoadingState />\n </div>\n );\n }\n\n // Self-scoped surface: gate on authentication only. The backend\n // (@rbac scopeType: \"self\") filters to the caller's own resources, so we\n // must not require an RBAC permission the member legitimately lacks.\n if (authOnly) {\n // When the shell RBAC context is unavailable (standalone/dev), render.\n if (hasPermission !== null && !isAuthenticated && !allowLocalShellBypass) {\n return (\n <AccessDenied\n title={tr(\"devportal.accessDenied\", \"Access Denied\")}\n description={tr(\n \"devportal.noPermissionView\",\n \"You don't have permission to view this page.\",\n )}\n />\n );\n }\n return <>{children}</>;\n }\n\n if (\n permission &&\n hasPermission &&\n !hasPermission(permission) &&\n !isRbacAdmin &&\n !allowLocalShellBypass\n ) {\n return (\n <AccessDenied\n title={tr(\"devportal.accessDenied\", \"Access Denied\")}\n description={tr(\n \"devportal.noPermissionView\",\n \"You don't have permission to view this page.\",\n )}\n />\n );\n }\n\n return <>{children}</>;\n};\n"],"mappings":";;;;;;;AA+BA,IAAa,KAA6C,EACxD,eACA,cAAW,IACX,kBACI;CACJ,IAAI,IACF,MACE,IAAY,IACZ,IAAc,IACd,IAAkB;AAEtB,KAAI;EACF,IAAM,IAAc,GAAgB;AAKpC,EAJA,IAAgB,EAAY,eAG5B,IAAY,EAAY,WACxB,IACE,EAAY,aAAa,aAAa,MACnC,MAAU,EAAM,iBAAiB,UAAU,EAAM,UAAU,QAC7D,IAAI;SACD;AAIN,EAFA,IAAgB,MAChB,IAAY,IACZ,IAAc;;AAGhB,KAAI;AAEF,MADa,GAAS,CACC;SACjB;AACN,MAAkB;;CAQpB,IAAM,IAJJ,OAAO,SAAW,QACjB,OAAO,SAAS,aAAa,eAC5B,OAAO,SAAS,SAAS,SAAS,uBAAuB,KAEZ,GAC3C,IAAK,GAAO;AA+ClB,QA7CI,IAEA,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,GAAD,EAAoB,CAAA;EAChB,CAAA,GAON,IAEE,MAAkB,QAAQ,CAAC,KAAmB,CAAC,IAE/C,kBAAC,GAAD;EACE,OAAO,EAAG,0BAA0B,gBAAgB;EACpD,aAAa,EACX,8BACA,+CACD;EACD,CAAA,GAGC,kBAAA,GAAA,EAAG,aAAY,CAAA,GAItB,KACA,KACA,CAAC,EAAc,EAAW,IAC1B,CAAC,KACD,CAAC,IAGC,kBAAC,GAAD;EACE,OAAO,EAAG,0BAA0B,gBAAgB;EACpD,aAAa,EACX,8BACA,+CACD;EACD,CAAA,GAIC,kBAAA,GAAA,EAAG,aAAY,CAAA"}
1
+ {"version":3,"file":"PermissionGuard.js","names":["_Fragment","PermissionGuard","hasPermission","isLoading","isRbacAdmin","isAuthenticated","permissions","usePermissions","entry","useAuth","allowLocalShellBypass","tr","useTr","PageLoadingState","authOnly","AccessDenied","Fragment","permission"],"sources":["../../../src/devportal/components/PermissionGuard.tsx"],"sourcesContent":["import type { FC, ReactNode } from \"react\";\nimport { usePermissions } from \"@burdenoff/fe-libs/shared/providers/shell\";\nimport { useAuth } from \"@burdenoff/fe-libs/shared/providers/shell/AuthProvider\";\nimport { AccessDenied } from \"@burdenoff/fe-libs/shared/components\";\nimport { PageLoadingState } from \"./LoadingState\";\nimport { useTr } from \"../utils/i18n\";\nimport type { DevportalPermission } from \"../constants/permissions\";\n\ninterface PermissionGuardProps {\n /**\n * Required RBAC permission. Optional when `authOnly` is set — self-scoped\n * developer surfaces gate on authentication only (see `authOnly`).\n */\n permission?: DevportalPermission;\n /**\n * Self-scoped mode. The corresponding backend fields are gated with\n * `@rbac(scopeType: \"self\")` — an authentication gate whose resolvers filter\n * strictly to the caller's own resources. Such fields carry no RBAC\n * permission in `myPermissions`, so a permission check would wrongly deny\n * every normal member. In this mode we render for any authenticated user and\n * let the backend self-enforce per resource.\n */\n authOnly?: boolean;\n children: ReactNode;\n}\n\n/**\n * Wraps page content with a permission check.\n * Shows a loading state while permissions resolve, then either\n * renders children (if permitted) or an AccessDenied screen.\n */\nexport const PermissionGuard: FC<PermissionGuardProps> = ({\n permission,\n authOnly = false,\n children,\n}) => {\n let hasPermission: ((permission: DevportalPermission) => boolean) | null =\n null;\n let isLoading = false;\n let isRbacAdmin = false;\n let isAuthenticated = false;\n\n try {\n const permissions = usePermissions();\n hasPermission = permissions.hasPermission as (\n permission: DevportalPermission,\n ) => boolean;\n isLoading = permissions.isLoading;\n isRbacAdmin =\n permissions.permissions?.permissions?.some(\n (entry) => entry.resourceType === \"rbac\" && entry.level === \"ADMIN\",\n ) ?? false;\n } catch {\n // Standalone/dev mode intentionally allows rendering without shell RBAC context.\n hasPermission = null;\n isLoading = false;\n isRbacAdmin = false;\n }\n\n try {\n const auth = useAuth();\n isAuthenticated = auth.isAuthenticated;\n } catch {\n isAuthenticated = false;\n }\n\n const isLocalShellDev =\n typeof window !== \"undefined\" &&\n (window.location.hostname === \"localhost\" ||\n window.location.hostname.endsWith(\".local.burdenoff.com\"));\n\n const allowLocalShellBypass = isLocalShellDev && isAuthenticated;\n const tr = useTr();\n\n if (isLoading) {\n return (\n <div className=\"flex min-h-screen items-center justify-center bg-bg-canvas\">\n <PageLoadingState />\n </div>\n );\n }\n\n // Self-scoped surface: gate on authentication only. The backend\n // (@rbac scopeType: \"self\") filters to the caller's own resources, so we\n // must not require an RBAC permission the member legitimately lacks.\n if (authOnly) {\n // When the shell RBAC context is unavailable (standalone/dev), render.\n if (hasPermission !== null && !isAuthenticated && !allowLocalShellBypass) {\n return (\n <AccessDenied\n title={tr(\"devportal.accessDenied\", \"Access Denied\")}\n description={tr(\n \"devportal.noPermissionView\",\n \"You don't have permission to view this page.\",\n )}\n />\n );\n }\n return <>{children}</>;\n }\n\n if (\n permission &&\n hasPermission &&\n !hasPermission(permission) &&\n !isRbacAdmin &&\n !allowLocalShellBypass\n ) {\n return (\n <AccessDenied\n title={tr(\"devportal.accessDenied\", \"Access Denied\")}\n description={tr(\n \"devportal.noPermissionView\",\n \"You don't have permission to view this page.\",\n )}\n />\n );\n }\n\n return <>{children}</>;\n};\n"],"mappings":";;;;;;;AA+BA,IAAaC,KAA6C,EACxD,eACA,cAAW,IACX,kBACI;CACJ,IAAIC,IACF,MACEC,IAAY,IACZC,IAAc,IACdC,IAAkB;CAEtB,IAAI;EACF,IAAMC,IAAcC,EAAe;EAKnC,AAJA,IAAgBD,EAAY,eAG5B,IAAYA,EAAY,WACxB,IACEA,EAAY,aAAa,aAAa,MACnC,MAAUE,EAAM,iBAAiB,UAAUA,EAAM,UAAU,OAC9D,KAAK;CACT,QAAQ;EAIN,AAFA,IAAgB,MAChB,IAAY,IACZ,IAAc;CAChB;CAEA,IAAI;EAEF,IADaC,EACK,CAAA,CAAK;CACzB,QAAQ;EACN,IAAkB;CACpB;CAOA,IAAMC,IAJJ,OAAO,SAAW,QACjB,OAAO,SAAS,aAAa,eAC5B,OAAO,SAAS,SAAS,SAAS,sBAAsB,MAEXL,GAC3CM,IAAKC,EAAM;CA+CjB,OA7CIT,IAEA,kBAAC,OAAD;EAAK,WAAU;EACb,UAAA,kBAACU,GAAD,CAAmB,CAAA;CAChB,CAAA,IAOLC,IAEEZ,MAAkB,QAAQ,CAACG,KAAmB,CAACK,IAE/C,kBAACK,GAAD;EACE,OAAOJ,EAAG,0BAA0B,eAAe;EACnD,aAAaA,EACX,8BACA,8CACF;CACD,CAAA,IAGE,kBAAAX,GAAA,EAAG,YAAW,CAAA,IAIrBiB,KACAf,KACA,CAACA,EAAce,CAAU,KACzB,CAACb,KACD,CAACM,IAGC,kBAACK,GAAD;EACE,OAAOJ,EAAG,0BAA0B,eAAe;EACnD,aAAaA,EACX,8BACA,8CACF;CACD,CAAA,IAIE,kBAAAX,GAAA,EAAG,YAAW,CAAA;AACvB"}
@@ -1,5 +1,4 @@
1
1
  import { FC } from 'react';
2
-
3
2
  export interface RegisterPickupLocationModalProps {
4
3
  open: boolean;
5
4
  onOpenChange: (open: boolean) => void;
@@ -25,4 +24,3 @@ export interface RegisterPickupLocationModalProps {
25
24
  * supported, full stop.
26
25
  */
27
26
  export declare const RegisterPickupLocationModal: FC<RegisterPickupLocationModalProps>;
28
- //# sourceMappingURL=RegisterPickupLocationModal.d.ts.map
@@ -1,10 +1,10 @@
1
- import { useTr as e } from "../utils/i18n.js";
2
- import { InputField as t } from "./FormField.js";
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
- //#region src/devportal/components/RegisterPickupLocationModal.tsx
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 = e(), x = r(), S = i(null), [C, w] = a(m), [T, E] = a(!1), [D, O] = a(null);
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(t, {
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(t, {
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(t, {
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(t, {
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(t, {
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(t, {
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(t, {
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(t, {
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(t, {
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
- //#region src/devportal/components/ReportOrderIssueModal.tsx
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