@burdenoff/microfe-devportal 2026.1108.1 → 2026.1108.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1402) 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 +13 -10
  12. package/dist/devportal/DevportalRoot.js.map +1 -1
  13. package/dist/devportal/DevportalRoutes.d.ts +1 -2
  14. package/dist/devportal/DevportalRoutes.js +19 -17
  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/WebhookDetailPage.d.ts +0 -2
  255. package/dist/devportal/pages/WebhookDetailPage.js +62 -67
  256. package/dist/devportal/pages/WebhookDetailPage.js.map +1 -1
  257. package/dist/devportal/pages/WebhooksPage.d.ts +0 -2
  258. package/dist/devportal/pages/WebhooksPage.js +130 -131
  259. package/dist/devportal/pages/WebhooksPage.js.map +1 -1
  260. package/dist/devportal/providers/DevportalProvider.d.ts +0 -2
  261. package/dist/devportal/providers/DevportalProvider.js +2 -3
  262. package/dist/devportal/providers/DevportalProvider.js.map +1 -1
  263. package/dist/devportal/store/devportalStore.d.ts +0 -2
  264. package/dist/devportal/store/devportalStore.js +1 -2
  265. package/dist/devportal/store/devportalStore.js.map +1 -1
  266. package/dist/devportal/types/index.d.ts +0 -2
  267. package/dist/devportal/types/index.js +1 -2
  268. package/dist/devportal/types/index.js.map +1 -1
  269. package/dist/devportal/utils/cn.d.ts +0 -2
  270. package/dist/devportal/utils/cn.js +2 -3
  271. package/dist/devportal/utils/cn.js.map +1 -1
  272. package/dist/devportal/utils/constants.d.ts +0 -1
  273. package/dist/devportal/utils/constants.js +1 -2
  274. package/dist/devportal/utils/constants.js.map +1 -1
  275. package/dist/devportal/utils/currency.d.ts +0 -1
  276. package/dist/devportal/utils/currency.js +1 -2
  277. package/dist/devportal/utils/currency.js.map +1 -1
  278. package/dist/devportal/utils/developerOnboarding.d.ts +0 -1
  279. package/dist/devportal/utils/developerOnboarding.js +4 -5
  280. package/dist/devportal/utils/developerOnboarding.js.map +1 -1
  281. package/dist/devportal/utils/graphqlEndpoint.d.ts +0 -1
  282. package/dist/devportal/utils/graphqlEndpoint.js +1 -2
  283. package/dist/devportal/utils/graphqlEndpoint.js.map +1 -1
  284. package/dist/devportal/utils/i18n.d.ts +0 -1
  285. package/dist/devportal/utils/i18n.js +1 -2
  286. package/dist/devportal/utils/i18n.js.map +1 -1
  287. package/dist/devportal/utils/nodeLifecycle.d.ts +0 -2
  288. package/dist/devportal/utils/nodeLifecycle.js +6 -7
  289. package/dist/devportal/utils/nodeLifecycle.js.map +1 -1
  290. package/dist/devportal/utils/publisherPayouts.d.ts +0 -1
  291. package/dist/devportal/utils/publisherPayouts.js +14 -15
  292. package/dist/devportal/utils/publisherPayouts.js.map +1 -1
  293. package/dist/devportal/utils/recaptcha.d.ts +0 -1
  294. package/dist/devportal/utils/recaptcha.js +1 -2
  295. package/dist/devportal/utils/recaptcha.js.map +1 -1
  296. package/dist/devportal/utils/submitForReview.d.ts +0 -1
  297. package/dist/devportal/utils/submitForReview.js +15 -14
  298. package/dist/devportal/utils/submitForReview.js.map +1 -1
  299. package/dist/devportal/utils/uploadErrors.d.ts +0 -1
  300. package/dist/devportal/utils/uploadErrors.js +30 -30
  301. package/dist/devportal/utils/uploadErrors.js.map +1 -1
  302. package/dist/generated/global-operations.d.ts +2379 -2423
  303. package/dist/generated/global-operations.js +6 -5
  304. package/dist/generated/global-operations.js.map +1 -1
  305. package/dist/generated/global-types.d.ts +2 -22
  306. package/dist/generated/global-types.js +1 -2
  307. package/dist/generated/global-types.js.map +1 -1
  308. package/dist/generated/wspace-operations.d.ts +31 -8
  309. package/dist/generated/wspace-operations.js +2 -3
  310. package/dist/generated/wspace-operations.js.map +1 -1
  311. package/dist/generated/wspace-types.d.ts +4 -24
  312. package/dist/index.d.ts +0 -1
  313. package/dist/index.js +1 -1
  314. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +1 -2
  315. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -1
  316. package/dist/node_modules/@apollo/client/errors/ServerError.js +1 -2
  317. package/dist/node_modules/@apollo/client/errors/ServerError.js.map +1 -1
  318. package/dist/node_modules/@apollo/client/errors/utils.js +1 -2
  319. package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -1
  320. package/dist/node_modules/@apollo/client/link/core/ApolloLink.js +7 -8
  321. package/dist/node_modules/@apollo/client/link/core/ApolloLink.js.map +1 -1
  322. package/dist/node_modules/@apollo/client/link/subscriptions/index.js +16 -17
  323. package/dist/node_modules/@apollo/client/link/subscriptions/index.js.map +1 -1
  324. package/dist/node_modules/@apollo/client/link/utils/createOperation.js +5 -6
  325. package/dist/node_modules/@apollo/client/link/utils/createOperation.js.map +1 -1
  326. package/dist/node_modules/@apollo/client/utilities/caching/sizes.js +0 -1
  327. package/dist/node_modules/@apollo/client/utilities/caching/sizes.js.map +1 -1
  328. package/dist/node_modules/@apollo/client/utilities/graphql/print.js +4 -5
  329. package/dist/node_modules/@apollo/client/utilities/graphql/print.js.map +1 -1
  330. package/dist/node_modules/@apollo/client/utilities/internal/caches.js +1 -2
  331. package/dist/node_modules/@apollo/client/utilities/internal/caches.js.map +1 -1
  332. package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js +1 -2
  333. package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js.map +1 -1
  334. package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js +2 -3
  335. package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js.map +1 -1
  336. package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +1 -2
  337. package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +1 -1
  338. package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js +1 -2
  339. package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js.map +1 -1
  340. package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js +1 -2
  341. package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js.map +1 -1
  342. package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js +1 -2
  343. package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js.map +1 -1
  344. package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js +1 -2
  345. package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js.map +1 -1
  346. package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js +1 -2
  347. package/dist/node_modules/@apollo/client/utilities/internal/isNonNullObject.js.map +1 -1
  348. package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js +1 -2
  349. package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js.map +1 -1
  350. package/dist/node_modules/@apollo/client/utilities/internal/memoize.js +1 -2
  351. package/dist/node_modules/@apollo/client/utilities/internal/memoize.js.map +1 -1
  352. package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js +1 -2
  353. package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js.map +1 -1
  354. package/dist/node_modules/@apollo/client/utilities/invariant/index.js +2 -3
  355. package/dist/node_modules/@apollo/client/utilities/invariant/index.js.map +1 -1
  356. package/dist/node_modules/@apollo/client/version.js +2 -3
  357. package/dist/node_modules/@apollo/client/version.js.map +1 -1
  358. package/dist/node_modules/@wry/caches/lib/weak.js +1 -2
  359. package/dist/node_modules/@wry/caches/lib/weak.js.map +1 -1
  360. package/dist/node_modules/@wry/trie/lib/index.js +2 -3
  361. package/dist/node_modules/@wry/trie/lib/index.js.map +1 -1
  362. package/dist/node_modules/clsx/dist/clsx.js +8 -7
  363. package/dist/node_modules/clsx/dist/clsx.js.map +1 -1
  364. package/dist/node_modules/d3-array/dist/d3-array.js +204 -0
  365. package/dist/node_modules/d3-array/dist/d3-array.js.map +1 -0
  366. package/dist/node_modules/d3-color/dist/d3-color.js +388 -0
  367. package/dist/node_modules/d3-color/dist/d3-color.js.map +1 -0
  368. package/dist/node_modules/d3-format/dist/d3-format.js +186 -0
  369. package/dist/node_modules/d3-format/dist/d3-format.js.map +1 -0
  370. package/dist/node_modules/d3-interpolate/dist/d3-interpolate.js +185 -0
  371. package/dist/node_modules/d3-interpolate/dist/d3-interpolate.js.map +1 -0
  372. package/dist/node_modules/d3-path/{src/path.js → dist/d3-path.js} +39 -14
  373. package/dist/node_modules/d3-path/dist/d3-path.js.map +1 -0
  374. package/dist/node_modules/d3-scale/dist/d3-scale.js +622 -0
  375. package/dist/node_modules/d3-scale/dist/d3-scale.js.map +1 -0
  376. package/dist/node_modules/d3-shape/dist/d3-shape.js +901 -0
  377. package/dist/node_modules/d3-shape/dist/d3-shape.js.map +1 -0
  378. package/dist/node_modules/d3-time/dist/d3-time.js +241 -0
  379. package/dist/node_modules/d3-time/dist/d3-time.js.map +1 -0
  380. package/dist/node_modules/d3-time-format/{src/locale.js → dist/d3-time-format.js} +229 -174
  381. package/dist/node_modules/d3-time-format/dist/d3-time-format.js.map +1 -0
  382. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js +1 -2
  383. package/dist/node_modules/date-fns/_lib/addLeadingZeros.js.map +1 -1
  384. package/dist/node_modules/date-fns/_lib/defaultOptions.js +1 -2
  385. package/dist/node_modules/date-fns/_lib/defaultOptions.js.map +1 -1
  386. package/dist/node_modules/date-fns/_lib/format/formatters.js +29 -22
  387. package/dist/node_modules/date-fns/_lib/format/formatters.js.map +1 -1
  388. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js +3 -4
  389. package/dist/node_modules/date-fns/_lib/format/lightFormatters.js.map +1 -1
  390. package/dist/node_modules/date-fns/_lib/format/longFormatters.js +2 -5
  391. package/dist/node_modules/date-fns/_lib/format/longFormatters.js.map +1 -1
  392. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +2 -3
  393. package/dist/node_modules/date-fns/_lib/getTimezoneOffsetInMilliseconds.js.map +1 -1
  394. package/dist/node_modules/date-fns/_lib/protectedTokens.js +1 -2
  395. package/dist/node_modules/date-fns/_lib/protectedTokens.js.map +1 -1
  396. package/dist/node_modules/date-fns/constants.js +5 -5
  397. package/dist/node_modules/date-fns/constants.js.map +1 -1
  398. package/dist/node_modules/date-fns/constructFrom.js +2 -3
  399. package/dist/node_modules/date-fns/constructFrom.js.map +1 -1
  400. package/dist/node_modules/date-fns/differenceInCalendarDays.js +2 -3
  401. package/dist/node_modules/date-fns/differenceInCalendarDays.js.map +1 -1
  402. package/dist/node_modules/date-fns/format.js +15 -16
  403. package/dist/node_modules/date-fns/format.js.map +1 -1
  404. package/dist/node_modules/date-fns/getDayOfYear.js +7 -8
  405. package/dist/node_modules/date-fns/getDayOfYear.js.map +1 -1
  406. package/dist/node_modules/date-fns/getISOWeek.js +8 -9
  407. package/dist/node_modules/date-fns/getISOWeek.js.map +1 -1
  408. package/dist/node_modules/date-fns/getISOWeekYear.js +8 -9
  409. package/dist/node_modules/date-fns/getISOWeekYear.js.map +1 -1
  410. package/dist/node_modules/date-fns/getWeek.js +8 -9
  411. package/dist/node_modules/date-fns/getWeek.js.map +1 -1
  412. package/dist/node_modules/date-fns/getWeekYear.js +9 -10
  413. package/dist/node_modules/date-fns/getWeekYear.js.map +1 -1
  414. package/dist/node_modules/date-fns/isDate.js +2 -3
  415. package/dist/node_modules/date-fns/isDate.js.map +1 -1
  416. package/dist/node_modules/date-fns/isValid.js +6 -7
  417. package/dist/node_modules/date-fns/isValid.js.map +1 -1
  418. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js +1 -2
  419. package/dist/node_modules/date-fns/locale/_lib/buildFormatLongFn.js.map +1 -1
  420. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js +1 -2
  421. package/dist/node_modules/date-fns/locale/_lib/buildLocalizeFn.js.map +1 -1
  422. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js +1 -2
  423. package/dist/node_modules/date-fns/locale/_lib/buildMatchFn.js.map +1 -1
  424. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js +1 -2
  425. package/dist/node_modules/date-fns/locale/_lib/buildMatchPatternFn.js.map +1 -1
  426. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js +1 -2
  427. package/dist/node_modules/date-fns/locale/en-US/_lib/formatDistance.js.map +1 -1
  428. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js +0 -1
  429. package/dist/node_modules/date-fns/locale/en-US/_lib/formatLong.js.map +1 -1
  430. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js +1 -2
  431. package/dist/node_modules/date-fns/locale/en-US/_lib/formatRelative.js.map +1 -1
  432. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js +0 -1
  433. package/dist/node_modules/date-fns/locale/en-US/_lib/localize.js.map +1 -1
  434. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js +0 -1
  435. package/dist/node_modules/date-fns/locale/en-US/_lib/match.js.map +1 -1
  436. package/dist/node_modules/date-fns/locale/en-US.js +2 -3
  437. package/dist/node_modules/date-fns/locale/en-US.js.map +1 -1
  438. package/dist/node_modules/date-fns/startOfDay.js +2 -3
  439. package/dist/node_modules/date-fns/startOfDay.js.map +1 -1
  440. package/dist/node_modules/date-fns/startOfISOWeek.js +2 -3
  441. package/dist/node_modules/date-fns/startOfISOWeek.js.map +1 -1
  442. package/dist/node_modules/date-fns/startOfISOWeekYear.js +5 -6
  443. package/dist/node_modules/date-fns/startOfISOWeekYear.js.map +1 -1
  444. package/dist/node_modules/date-fns/startOfWeek.js +2 -3
  445. package/dist/node_modules/date-fns/startOfWeek.js.map +1 -1
  446. package/dist/node_modules/date-fns/startOfWeekYear.js +6 -7
  447. package/dist/node_modules/date-fns/startOfWeekYear.js.map +1 -1
  448. package/dist/node_modules/date-fns/startOfYear.js +3 -4
  449. package/dist/node_modules/date-fns/startOfYear.js.map +1 -1
  450. package/dist/node_modules/date-fns/toDate.js +2 -3
  451. package/dist/node_modules/date-fns/toDate.js.map +1 -1
  452. package/dist/node_modules/decimal.js-light/decimal.js +33 -30
  453. package/dist/node_modules/decimal.js-light/decimal.js.map +1 -1
  454. package/dist/node_modules/eventemitter3/index.js +2 -3
  455. package/dist/node_modules/eventemitter3/index.js.map +1 -1
  456. package/dist/node_modules/fast-equals/dist/es/index.js +109 -79
  457. package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -1
  458. package/dist/node_modules/graphql-ws/dist/client.js +76 -69
  459. package/dist/node_modules/graphql-ws/dist/client.js.map +1 -1
  460. package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js +2 -3
  461. package/dist/node_modules/graphql-ws/dist/common-CGW11Fyb.js.map +1 -1
  462. package/dist/node_modules/lodash/_DataView.js +4 -5
  463. package/dist/node_modules/lodash/_DataView.js.map +1 -1
  464. package/dist/node_modules/lodash/_Hash.js +1 -2
  465. package/dist/node_modules/lodash/_Hash.js.map +1 -1
  466. package/dist/node_modules/lodash/_ListCache.js +1 -2
  467. package/dist/node_modules/lodash/_ListCache.js.map +1 -1
  468. package/dist/node_modules/lodash/_Map.js +4 -5
  469. package/dist/node_modules/lodash/_Map.js.map +1 -1
  470. package/dist/node_modules/lodash/_MapCache.js +1 -2
  471. package/dist/node_modules/lodash/_MapCache.js.map +1 -1
  472. package/dist/node_modules/lodash/_Promise.js +4 -5
  473. package/dist/node_modules/lodash/_Promise.js.map +1 -1
  474. package/dist/node_modules/lodash/_Set.js +4 -5
  475. package/dist/node_modules/lodash/_Set.js.map +1 -1
  476. package/dist/node_modules/lodash/_SetCache.js +1 -2
  477. package/dist/node_modules/lodash/_SetCache.js.map +1 -1
  478. package/dist/node_modules/lodash/_Stack.js +3 -3
  479. package/dist/node_modules/lodash/_Stack.js.map +1 -1
  480. package/dist/node_modules/lodash/_Symbol.js +1 -2
  481. package/dist/node_modules/lodash/_Symbol.js.map +1 -1
  482. package/dist/node_modules/lodash/_Uint8Array.js +1 -2
  483. package/dist/node_modules/lodash/_Uint8Array.js.map +1 -1
  484. package/dist/node_modules/lodash/_WeakMap.js +4 -5
  485. package/dist/node_modules/lodash/_WeakMap.js.map +1 -1
  486. package/dist/node_modules/lodash/_apply.js +1 -2
  487. package/dist/node_modules/lodash/_apply.js.map +1 -1
  488. package/dist/node_modules/lodash/_arrayEvery.js +1 -2
  489. package/dist/node_modules/lodash/_arrayEvery.js.map +1 -1
  490. package/dist/node_modules/lodash/_arrayFilter.js +1 -2
  491. package/dist/node_modules/lodash/_arrayFilter.js.map +1 -1
  492. package/dist/node_modules/lodash/_arrayIncludes.js +1 -2
  493. package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -1
  494. package/dist/node_modules/lodash/_arrayIncludesWith.js +1 -2
  495. package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -1
  496. package/dist/node_modules/lodash/_arrayLikeKeys.js +5 -6
  497. package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -1
  498. package/dist/node_modules/lodash/_arrayMap.js +1 -2
  499. package/dist/node_modules/lodash/_arrayMap.js.map +1 -1
  500. package/dist/node_modules/lodash/_arrayPush.js +1 -2
  501. package/dist/node_modules/lodash/_arrayPush.js.map +1 -1
  502. package/dist/node_modules/lodash/_arraySome.js +1 -2
  503. package/dist/node_modules/lodash/_arraySome.js.map +1 -1
  504. package/dist/node_modules/lodash/_asciiToArray.js +1 -2
  505. package/dist/node_modules/lodash/_asciiToArray.js.map +1 -1
  506. package/dist/node_modules/lodash/_assocIndexOf.js +1 -2
  507. package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -1
  508. package/dist/node_modules/lodash/_baseAssignValue.js +1 -2
  509. package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -1
  510. package/dist/node_modules/lodash/_baseEach.js +1 -2
  511. package/dist/node_modules/lodash/_baseEach.js.map +1 -1
  512. package/dist/node_modules/lodash/_baseEvery.js +1 -2
  513. package/dist/node_modules/lodash/_baseEvery.js.map +1 -1
  514. package/dist/node_modules/lodash/_baseExtremum.js +1 -2
  515. package/dist/node_modules/lodash/_baseExtremum.js.map +1 -1
  516. package/dist/node_modules/lodash/_baseFindIndex.js +1 -2
  517. package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -1
  518. package/dist/node_modules/lodash/_baseFlatten.js +1 -2
  519. package/dist/node_modules/lodash/_baseFlatten.js.map +1 -1
  520. package/dist/node_modules/lodash/_baseFor.js +1 -2
  521. package/dist/node_modules/lodash/_baseFor.js.map +1 -1
  522. package/dist/node_modules/lodash/_baseForOwn.js +4 -5
  523. package/dist/node_modules/lodash/_baseForOwn.js.map +1 -1
  524. package/dist/node_modules/lodash/_baseGet.js +1 -2
  525. package/dist/node_modules/lodash/_baseGet.js.map +1 -1
  526. package/dist/node_modules/lodash/_baseGetAllKeys.js +4 -5
  527. package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -1
  528. package/dist/node_modules/lodash/_baseGetTag.js +1 -2
  529. package/dist/node_modules/lodash/_baseGetTag.js.map +1 -1
  530. package/dist/node_modules/lodash/_baseGt.js +1 -2
  531. package/dist/node_modules/lodash/_baseGt.js.map +1 -1
  532. package/dist/node_modules/lodash/_baseHasIn.js +1 -2
  533. package/dist/node_modules/lodash/_baseHasIn.js.map +1 -1
  534. package/dist/node_modules/lodash/_baseIndexOf.js +1 -2
  535. package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -1
  536. package/dist/node_modules/lodash/_baseIsArguments.js +1 -2
  537. package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -1
  538. package/dist/node_modules/lodash/_baseIsEqual.js +4 -5
  539. package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -1
  540. package/dist/node_modules/lodash/_baseIsEqualDeep.js +10 -11
  541. package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -1
  542. package/dist/node_modules/lodash/_baseIsMatch.js +1 -2
  543. package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -1
  544. package/dist/node_modules/lodash/_baseIsNaN.js +1 -2
  545. package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -1
  546. package/dist/node_modules/lodash/_baseIsNative.js +5 -6
  547. package/dist/node_modules/lodash/_baseIsNative.js.map +1 -1
  548. package/dist/node_modules/lodash/_baseIsTypedArray.js +4 -5
  549. package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -1
  550. package/dist/node_modules/lodash/_baseIteratee.js +6 -7
  551. package/dist/node_modules/lodash/_baseIteratee.js.map +1 -1
  552. package/dist/node_modules/lodash/_baseKeys.js +1 -2
  553. package/dist/node_modules/lodash/_baseKeys.js.map +1 -1
  554. package/dist/node_modules/lodash/_baseLt.js +1 -2
  555. package/dist/node_modules/lodash/_baseLt.js.map +1 -1
  556. package/dist/node_modules/lodash/_baseMap.js +4 -5
  557. package/dist/node_modules/lodash/_baseMap.js.map +1 -1
  558. package/dist/node_modules/lodash/_baseMatches.js +1 -2
  559. package/dist/node_modules/lodash/_baseMatches.js.map +1 -1
  560. package/dist/node_modules/lodash/_baseMatchesProperty.js +7 -8
  561. package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -1
  562. package/dist/node_modules/lodash/_baseOrderBy.js +11 -12
  563. package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -1
  564. package/dist/node_modules/lodash/_baseProperty.js +1 -2
  565. package/dist/node_modules/lodash/_baseProperty.js.map +1 -1
  566. package/dist/node_modules/lodash/_basePropertyDeep.js +1 -2
  567. package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -1
  568. package/dist/node_modules/lodash/_baseRange.js +1 -2
  569. package/dist/node_modules/lodash/_baseRange.js.map +1 -1
  570. package/dist/node_modules/lodash/_baseRest.js +1 -2
  571. package/dist/node_modules/lodash/_baseRest.js.map +1 -1
  572. package/dist/node_modules/lodash/_baseSetToString.js +5 -6
  573. package/dist/node_modules/lodash/_baseSetToString.js.map +1 -1
  574. package/dist/node_modules/lodash/_baseSlice.js +1 -2
  575. package/dist/node_modules/lodash/_baseSlice.js.map +1 -1
  576. package/dist/node_modules/lodash/_baseSome.js +1 -2
  577. package/dist/node_modules/lodash/_baseSome.js.map +1 -1
  578. package/dist/node_modules/lodash/_baseSortBy.js +1 -2
  579. package/dist/node_modules/lodash/_baseSortBy.js.map +1 -1
  580. package/dist/node_modules/lodash/_baseTimes.js +1 -2
  581. package/dist/node_modules/lodash/_baseTimes.js.map +1 -1
  582. package/dist/node_modules/lodash/_baseToString.js +6 -7
  583. package/dist/node_modules/lodash/_baseToString.js.map +1 -1
  584. package/dist/node_modules/lodash/_baseTrim.js +1 -2
  585. package/dist/node_modules/lodash/_baseTrim.js.map +1 -1
  586. package/dist/node_modules/lodash/_baseUnary.js +1 -2
  587. package/dist/node_modules/lodash/_baseUnary.js.map +1 -1
  588. package/dist/node_modules/lodash/_baseUniq.js +7 -8
  589. package/dist/node_modules/lodash/_baseUniq.js.map +1 -1
  590. package/dist/node_modules/lodash/_cacheHas.js +1 -2
  591. package/dist/node_modules/lodash/_cacheHas.js.map +1 -1
  592. package/dist/node_modules/lodash/_castPath.js +1 -2
  593. package/dist/node_modules/lodash/_castPath.js.map +1 -1
  594. package/dist/node_modules/lodash/_castSlice.js +1 -2
  595. package/dist/node_modules/lodash/_castSlice.js.map +1 -1
  596. package/dist/node_modules/lodash/_compareAscending.js +1 -2
  597. package/dist/node_modules/lodash/_compareAscending.js.map +1 -1
  598. package/dist/node_modules/lodash/_compareMultiple.js +1 -2
  599. package/dist/node_modules/lodash/_compareMultiple.js.map +1 -1
  600. package/dist/node_modules/lodash/_coreJsData.js +1 -2
  601. package/dist/node_modules/lodash/_coreJsData.js.map +1 -1
  602. package/dist/node_modules/lodash/_createBaseEach.js +1 -2
  603. package/dist/node_modules/lodash/_createBaseEach.js.map +1 -1
  604. package/dist/node_modules/lodash/_createBaseFor.js +1 -2
  605. package/dist/node_modules/lodash/_createBaseFor.js.map +1 -1
  606. package/dist/node_modules/lodash/_createCaseFirst.js +6 -7
  607. package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -1
  608. package/dist/node_modules/lodash/_createFind.js +5 -6
  609. package/dist/node_modules/lodash/_createFind.js.map +1 -1
  610. package/dist/node_modules/lodash/_createRange.js +4 -5
  611. package/dist/node_modules/lodash/_createRange.js.map +1 -1
  612. package/dist/node_modules/lodash/_createSet.js +6 -7
  613. package/dist/node_modules/lodash/_createSet.js.map +1 -1
  614. package/dist/node_modules/lodash/_defineProperty.js +1 -2
  615. package/dist/node_modules/lodash/_defineProperty.js.map +1 -1
  616. package/dist/node_modules/lodash/_equalArrays.js +1 -2
  617. package/dist/node_modules/lodash/_equalArrays.js.map +1 -1
  618. package/dist/node_modules/lodash/_equalByTag.js +5 -6
  619. package/dist/node_modules/lodash/_equalByTag.js.map +1 -1
  620. package/dist/node_modules/lodash/_equalObjects.js +1 -2
  621. package/dist/node_modules/lodash/_equalObjects.js.map +1 -1
  622. package/dist/node_modules/lodash/_freeGlobal.js +1 -2
  623. package/dist/node_modules/lodash/_freeGlobal.js.map +1 -1
  624. package/dist/node_modules/lodash/_getAllKeys.js +1 -2
  625. package/dist/node_modules/lodash/_getAllKeys.js.map +1 -1
  626. package/dist/node_modules/lodash/_getMapData.js +1 -2
  627. package/dist/node_modules/lodash/_getMapData.js.map +1 -1
  628. package/dist/node_modules/lodash/_getMatchData.js +4 -5
  629. package/dist/node_modules/lodash/_getMatchData.js.map +1 -1
  630. package/dist/node_modules/lodash/_getNative.js +1 -2
  631. package/dist/node_modules/lodash/_getNative.js.map +1 -1
  632. package/dist/node_modules/lodash/_getPrototype.js +1 -2
  633. package/dist/node_modules/lodash/_getPrototype.js.map +1 -1
  634. package/dist/node_modules/lodash/_getRawTag.js +1 -2
  635. package/dist/node_modules/lodash/_getRawTag.js.map +1 -1
  636. package/dist/node_modules/lodash/_getSymbols.js +1 -2
  637. package/dist/node_modules/lodash/_getSymbols.js.map +1 -1
  638. package/dist/node_modules/lodash/_getTag.js +9 -10
  639. package/dist/node_modules/lodash/_getTag.js.map +1 -1
  640. package/dist/node_modules/lodash/_getValue.js +1 -2
  641. package/dist/node_modules/lodash/_getValue.js.map +1 -1
  642. package/dist/node_modules/lodash/_hasPath.js +8 -9
  643. package/dist/node_modules/lodash/_hasPath.js.map +1 -1
  644. package/dist/node_modules/lodash/_hasUnicode.js +1 -2
  645. package/dist/node_modules/lodash/_hasUnicode.js.map +1 -1
  646. package/dist/node_modules/lodash/_hashClear.js +1 -2
  647. package/dist/node_modules/lodash/_hashClear.js.map +1 -1
  648. package/dist/node_modules/lodash/_hashDelete.js +1 -2
  649. package/dist/node_modules/lodash/_hashDelete.js.map +1 -1
  650. package/dist/node_modules/lodash/_hashGet.js +1 -2
  651. package/dist/node_modules/lodash/_hashGet.js.map +1 -1
  652. package/dist/node_modules/lodash/_hashHas.js +1 -2
  653. package/dist/node_modules/lodash/_hashHas.js.map +1 -1
  654. package/dist/node_modules/lodash/_hashSet.js +1 -2
  655. package/dist/node_modules/lodash/_hashSet.js.map +1 -1
  656. package/dist/node_modules/lodash/_isFlattenable.js +5 -6
  657. package/dist/node_modules/lodash/_isFlattenable.js.map +1 -1
  658. package/dist/node_modules/lodash/_isIndex.js +6 -7
  659. package/dist/node_modules/lodash/_isIndex.js.map +1 -1
  660. package/dist/node_modules/lodash/_isIterateeCall.js +5 -6
  661. package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -1
  662. package/dist/node_modules/lodash/_isKey.js +1 -2
  663. package/dist/node_modules/lodash/_isKey.js.map +1 -1
  664. package/dist/node_modules/lodash/_isKeyable.js +1 -2
  665. package/dist/node_modules/lodash/_isKeyable.js.map +1 -1
  666. package/dist/node_modules/lodash/_isMasked.js +1 -2
  667. package/dist/node_modules/lodash/_isMasked.js.map +1 -1
  668. package/dist/node_modules/lodash/_isPrototype.js +1 -2
  669. package/dist/node_modules/lodash/_isPrototype.js.map +1 -1
  670. package/dist/node_modules/lodash/_isStrictComparable.js +1 -2
  671. package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -1
  672. package/dist/node_modules/lodash/_listCacheClear.js +1 -2
  673. package/dist/node_modules/lodash/_listCacheClear.js.map +1 -1
  674. package/dist/node_modules/lodash/_listCacheDelete.js +1 -2
  675. package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -1
  676. package/dist/node_modules/lodash/_listCacheGet.js +1 -2
  677. package/dist/node_modules/lodash/_listCacheGet.js.map +1 -1
  678. package/dist/node_modules/lodash/_listCacheHas.js +1 -2
  679. package/dist/node_modules/lodash/_listCacheHas.js.map +1 -1
  680. package/dist/node_modules/lodash/_listCacheSet.js +1 -2
  681. package/dist/node_modules/lodash/_listCacheSet.js.map +1 -1
  682. package/dist/node_modules/lodash/_mapCacheClear.js +1 -2
  683. package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -1
  684. package/dist/node_modules/lodash/_mapCacheDelete.js +1 -2
  685. package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -1
  686. package/dist/node_modules/lodash/_mapCacheGet.js +1 -2
  687. package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -1
  688. package/dist/node_modules/lodash/_mapCacheHas.js +1 -2
  689. package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -1
  690. package/dist/node_modules/lodash/_mapCacheSet.js +1 -2
  691. package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -1
  692. package/dist/node_modules/lodash/_mapToArray.js +1 -2
  693. package/dist/node_modules/lodash/_mapToArray.js.map +1 -1
  694. package/dist/node_modules/lodash/_matchesStrictComparable.js +2 -3
  695. package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -1
  696. package/dist/node_modules/lodash/_memoizeCapped.js +1 -2
  697. package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -1
  698. package/dist/node_modules/lodash/_nativeCreate.js +1 -2
  699. package/dist/node_modules/lodash/_nativeCreate.js.map +1 -1
  700. package/dist/node_modules/lodash/_nativeKeys.js +1 -2
  701. package/dist/node_modules/lodash/_nativeKeys.js.map +1 -1
  702. package/dist/node_modules/lodash/_nodeUtil.js +1 -2
  703. package/dist/node_modules/lodash/_nodeUtil.js.map +1 -1
  704. package/dist/node_modules/lodash/_objectToString.js +1 -2
  705. package/dist/node_modules/lodash/_objectToString.js.map +1 -1
  706. package/dist/node_modules/lodash/_overArg.js +1 -2
  707. package/dist/node_modules/lodash/_overArg.js.map +1 -1
  708. package/dist/node_modules/lodash/_overRest.js +1 -2
  709. package/dist/node_modules/lodash/_overRest.js.map +1 -1
  710. package/dist/node_modules/lodash/_root.js +1 -2
  711. package/dist/node_modules/lodash/_root.js.map +1 -1
  712. package/dist/node_modules/lodash/_setCacheAdd.js +4 -6
  713. package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -1
  714. package/dist/node_modules/lodash/_setCacheHas.js +1 -2
  715. package/dist/node_modules/lodash/_setCacheHas.js.map +1 -1
  716. package/dist/node_modules/lodash/_setToArray.js +1 -2
  717. package/dist/node_modules/lodash/_setToArray.js.map +1 -1
  718. package/dist/node_modules/lodash/_setToString.js +1 -2
  719. package/dist/node_modules/lodash/_setToString.js.map +1 -1
  720. package/dist/node_modules/lodash/_shortOut.js +8 -9
  721. package/dist/node_modules/lodash/_shortOut.js.map +1 -1
  722. package/dist/node_modules/lodash/_stackClear.js +1 -2
  723. package/dist/node_modules/lodash/_stackClear.js.map +1 -1
  724. package/dist/node_modules/lodash/_stackDelete.js +1 -2
  725. package/dist/node_modules/lodash/_stackDelete.js.map +1 -1
  726. package/dist/node_modules/lodash/_stackGet.js +1 -2
  727. package/dist/node_modules/lodash/_stackGet.js.map +1 -1
  728. package/dist/node_modules/lodash/_stackHas.js +1 -2
  729. package/dist/node_modules/lodash/_stackHas.js.map +1 -1
  730. package/dist/node_modules/lodash/_stackSet.js +1 -2
  731. package/dist/node_modules/lodash/_stackSet.js.map +1 -1
  732. package/dist/node_modules/lodash/_strictIndexOf.js +1 -2
  733. package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -1
  734. package/dist/node_modules/lodash/_stringToArray.js +4 -5
  735. package/dist/node_modules/lodash/_stringToArray.js.map +1 -1
  736. package/dist/node_modules/lodash/_stringToPath.js +1 -2
  737. package/dist/node_modules/lodash/_stringToPath.js.map +1 -1
  738. package/dist/node_modules/lodash/_toKey.js +2 -3
  739. package/dist/node_modules/lodash/_toKey.js.map +1 -1
  740. package/dist/node_modules/lodash/_toSource.js +1 -2
  741. package/dist/node_modules/lodash/_toSource.js.map +1 -1
  742. package/dist/node_modules/lodash/_trimmedEndIndex.js +1 -2
  743. package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -1
  744. package/dist/node_modules/lodash/_unicodeToArray.js +1 -2
  745. package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -1
  746. package/dist/node_modules/lodash/constant.js +1 -2
  747. package/dist/node_modules/lodash/constant.js.map +1 -1
  748. package/dist/node_modules/lodash/debounce.js +1 -2
  749. package/dist/node_modules/lodash/debounce.js.map +1 -1
  750. package/dist/node_modules/lodash/eq.js +1 -2
  751. package/dist/node_modules/lodash/eq.js.map +1 -1
  752. package/dist/node_modules/lodash/every.js +7 -8
  753. package/dist/node_modules/lodash/every.js.map +1 -1
  754. package/dist/node_modules/lodash/find.js +1 -2
  755. package/dist/node_modules/lodash/find.js.map +1 -1
  756. package/dist/node_modules/lodash/findIndex.js +4 -5
  757. package/dist/node_modules/lodash/findIndex.js.map +1 -1
  758. package/dist/node_modules/lodash/flatMap.js +1 -2
  759. package/dist/node_modules/lodash/flatMap.js.map +1 -1
  760. package/dist/node_modules/lodash/get.js +1 -2
  761. package/dist/node_modules/lodash/get.js.map +1 -1
  762. package/dist/node_modules/lodash/hasIn.js +1 -2
  763. package/dist/node_modules/lodash/hasIn.js.map +1 -1
  764. package/dist/node_modules/lodash/identity.js +1 -2
  765. package/dist/node_modules/lodash/identity.js.map +1 -1
  766. package/dist/node_modules/lodash/isArguments.js +4 -5
  767. package/dist/node_modules/lodash/isArguments.js.map +1 -1
  768. package/dist/node_modules/lodash/isArray.js +1 -2
  769. package/dist/node_modules/lodash/isArray.js.map +1 -1
  770. package/dist/node_modules/lodash/isArrayLike.js +1 -2
  771. package/dist/node_modules/lodash/isArrayLike.js.map +1 -1
  772. package/dist/node_modules/lodash/isBoolean.js +1 -2
  773. package/dist/node_modules/lodash/isBoolean.js.map +1 -1
  774. package/dist/node_modules/lodash/isBuffer.js +1 -2
  775. package/dist/node_modules/lodash/isBuffer.js.map +1 -1
  776. package/dist/node_modules/lodash/isEqual.js +1 -2
  777. package/dist/node_modules/lodash/isEqual.js.map +1 -1
  778. package/dist/node_modules/lodash/isFunction.js +1 -2
  779. package/dist/node_modules/lodash/isFunction.js.map +1 -1
  780. package/dist/node_modules/lodash/isLength.js +4 -6
  781. package/dist/node_modules/lodash/isLength.js.map +1 -1
  782. package/dist/node_modules/lodash/isNaN.js +1 -2
  783. package/dist/node_modules/lodash/isNaN.js.map +1 -1
  784. package/dist/node_modules/lodash/isNil.js +1 -2
  785. package/dist/node_modules/lodash/isNil.js.map +1 -1
  786. package/dist/node_modules/lodash/isNumber.js +1 -2
  787. package/dist/node_modules/lodash/isNumber.js.map +1 -1
  788. package/dist/node_modules/lodash/isObject.js +1 -2
  789. package/dist/node_modules/lodash/isObject.js.map +1 -1
  790. package/dist/node_modules/lodash/isObjectLike.js +1 -2
  791. package/dist/node_modules/lodash/isObjectLike.js.map +1 -1
  792. package/dist/node_modules/lodash/isPlainObject.js +4 -5
  793. package/dist/node_modules/lodash/isPlainObject.js.map +1 -1
  794. package/dist/node_modules/lodash/isString.js +4 -5
  795. package/dist/node_modules/lodash/isString.js.map +1 -1
  796. package/dist/node_modules/lodash/isSymbol.js +1 -2
  797. package/dist/node_modules/lodash/isSymbol.js.map +1 -1
  798. package/dist/node_modules/lodash/isTypedArray.js +1 -2
  799. package/dist/node_modules/lodash/isTypedArray.js.map +1 -1
  800. package/dist/node_modules/lodash/keys.js +1 -2
  801. package/dist/node_modules/lodash/keys.js.map +1 -1
  802. package/dist/node_modules/lodash/last.js +1 -2
  803. package/dist/node_modules/lodash/last.js.map +1 -1
  804. package/dist/node_modules/lodash/map.js +6 -7
  805. package/dist/node_modules/lodash/map.js.map +1 -1
  806. package/dist/node_modules/lodash/mapValues.js +4 -5
  807. package/dist/node_modules/lodash/mapValues.js.map +1 -1
  808. package/dist/node_modules/lodash/max.js +5 -6
  809. package/dist/node_modules/lodash/max.js.map +1 -1
  810. package/dist/node_modules/lodash/memoize.js +1 -2
  811. package/dist/node_modules/lodash/memoize.js.map +1 -1
  812. package/dist/node_modules/lodash/min.js +5 -6
  813. package/dist/node_modules/lodash/min.js.map +1 -1
  814. package/dist/node_modules/lodash/noop.js +1 -2
  815. package/dist/node_modules/lodash/noop.js.map +1 -1
  816. package/dist/node_modules/lodash/now.js +1 -2
  817. package/dist/node_modules/lodash/now.js.map +1 -1
  818. package/dist/node_modules/lodash/property.js +6 -7
  819. package/dist/node_modules/lodash/property.js.map +1 -1
  820. package/dist/node_modules/lodash/range.js +1 -2
  821. package/dist/node_modules/lodash/range.js.map +1 -1
  822. package/dist/node_modules/lodash/some.js +7 -8
  823. package/dist/node_modules/lodash/some.js.map +1 -1
  824. package/dist/node_modules/lodash/sortBy.js +1 -2
  825. package/dist/node_modules/lodash/sortBy.js.map +1 -1
  826. package/dist/node_modules/lodash/stubArray.js +1 -2
  827. package/dist/node_modules/lodash/stubArray.js.map +1 -1
  828. package/dist/node_modules/lodash/stubFalse.js +1 -2
  829. package/dist/node_modules/lodash/stubFalse.js.map +1 -1
  830. package/dist/node_modules/lodash/throttle.js +4 -5
  831. package/dist/node_modules/lodash/throttle.js.map +1 -1
  832. package/dist/node_modules/lodash/toFinite.js +2 -3
  833. package/dist/node_modules/lodash/toFinite.js.map +1 -1
  834. package/dist/node_modules/lodash/toInteger.js +1 -2
  835. package/dist/node_modules/lodash/toInteger.js.map +1 -1
  836. package/dist/node_modules/lodash/toNumber.js +4 -5
  837. package/dist/node_modules/lodash/toNumber.js.map +1 -1
  838. package/dist/node_modules/lodash/toString.js +1 -2
  839. package/dist/node_modules/lodash/toString.js.map +1 -1
  840. package/dist/node_modules/lodash/uniqBy.js +1 -2
  841. package/dist/node_modules/lodash/uniqBy.js.map +1 -1
  842. package/dist/node_modules/lodash/upperFirst.js +1 -2
  843. package/dist/node_modules/lodash/upperFirst.js.map +1 -1
  844. package/dist/node_modules/object-assign/index.js +1 -2
  845. package/dist/node_modules/object-assign/index.js.map +1 -1
  846. package/dist/node_modules/prop-types/checkPropTypes.js +1 -2
  847. package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -1
  848. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +1 -2
  849. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -1
  850. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +3 -3
  851. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -1
  852. package/dist/node_modules/prop-types/index.js +1 -2
  853. package/dist/node_modules/prop-types/index.js.map +1 -1
  854. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +1 -2
  855. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -1
  856. package/dist/node_modules/prop-types/lib/has.js +1 -2
  857. package/dist/node_modules/prop-types/lib/has.js.map +1 -1
  858. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +1 -2
  859. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -1
  860. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +1 -2
  861. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
  862. package/dist/node_modules/prop-types/node_modules/react-is/index.js +2 -3
  863. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -1
  864. package/dist/node_modules/react-is/cjs/react-is.development.js +31 -32
  865. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -1
  866. package/dist/node_modules/react-is/cjs/react-is.production.min.js +1 -2
  867. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -1
  868. package/dist/node_modules/react-is/index.js +2 -3
  869. package/dist/node_modules/react-is/index.js.map +1 -1
  870. package/dist/node_modules/react-smooth/es6/Animate.js +33 -41
  871. package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -1
  872. package/dist/node_modules/react-smooth/es6/AnimateManager.js +2 -5
  873. package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -1
  874. package/dist/node_modules/react-smooth/es6/configUpdate.js +1 -2
  875. package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -1
  876. package/dist/node_modules/react-smooth/es6/easing.js +1 -2
  877. package/dist/node_modules/react-smooth/es6/easing.js.map +1 -1
  878. package/dist/node_modules/react-smooth/es6/index.js +1 -2
  879. package/dist/node_modules/react-smooth/es6/index.js.map +1 -1
  880. package/dist/node_modules/react-smooth/es6/setRafTimeout.js +1 -2
  881. package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -1
  882. package/dist/node_modules/react-smooth/es6/util.js +17 -16
  883. package/dist/node_modules/react-smooth/es6/util.js.map +1 -1
  884. package/dist/node_modules/recharts/es6/cartesian/Bar.js +103 -104
  885. package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -1
  886. package/dist/node_modules/recharts/es6/cartesian/Brush.js +35 -36
  887. package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -1
  888. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +60 -67
  889. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -1
  890. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +45 -46
  891. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js.map +1 -1
  892. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +20 -21
  893. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -1
  894. package/dist/node_modules/recharts/es6/cartesian/Line.js +79 -80
  895. package/dist/node_modules/recharts/es6/cartesian/Line.js.map +1 -1
  896. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +29 -30
  897. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -1
  898. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +23 -24
  899. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -1
  900. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +31 -32
  901. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -1
  902. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +10 -11
  903. package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -1
  904. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +10 -11
  905. package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -1
  906. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +5 -6
  907. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -1
  908. package/dist/node_modules/recharts/es6/cartesian/getTicks.js +7 -8
  909. package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -1
  910. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +2 -5
  911. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -1
  912. package/dist/node_modules/recharts/es6/chart/BarChart.js +7 -8
  913. package/dist/node_modules/recharts/es6/chart/BarChart.js.map +1 -1
  914. package/dist/node_modules/recharts/es6/chart/LineChart.js +5 -6
  915. package/dist/node_modules/recharts/es6/chart/LineChart.js.map +1 -1
  916. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +534 -533
  917. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -1
  918. package/dist/node_modules/recharts/es6/component/Cell.js +1 -2
  919. package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -1
  920. package/dist/node_modules/recharts/es6/component/Cursor.js +17 -18
  921. package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -1
  922. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +35 -36
  923. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -1
  924. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +16 -17
  925. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -1
  926. package/dist/node_modules/recharts/es6/component/Label.js +85 -86
  927. package/dist/node_modules/recharts/es6/component/Label.js.map +1 -1
  928. package/dist/node_modules/recharts/es6/component/LabelList.js +20 -21
  929. package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -1
  930. package/dist/node_modules/recharts/es6/component/Legend.js +26 -23
  931. package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -1
  932. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +16 -17
  933. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -1
  934. package/dist/node_modules/recharts/es6/component/Text.js +18 -21
  935. package/dist/node_modules/recharts/es6/component/Text.js.map +1 -1
  936. package/dist/node_modules/recharts/es6/component/Tooltip.js +16 -17
  937. package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -1
  938. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +3 -4
  939. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -1
  940. package/dist/node_modules/recharts/es6/container/Layer.js +5 -6
  941. package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -1
  942. package/dist/node_modules/recharts/es6/container/Surface.js +5 -6
  943. package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -1
  944. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +21 -21
  945. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -1
  946. package/dist/node_modules/recharts/es6/shape/Cross.js +4 -5
  947. package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -1
  948. package/dist/node_modules/recharts/es6/shape/Curve.js +38 -49
  949. package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -1
  950. package/dist/node_modules/recharts/es6/shape/Dot.js +3 -4
  951. package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -1
  952. package/dist/node_modules/recharts/es6/shape/Rectangle.js +8 -9
  953. package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -1
  954. package/dist/node_modules/recharts/es6/shape/Sector.js +33 -34
  955. package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -1
  956. package/dist/node_modules/recharts/es6/shape/Symbols.js +26 -34
  957. package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -1
  958. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +8 -9
  959. package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -1
  960. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +24 -25
  961. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -1
  962. package/dist/node_modules/recharts/es6/util/BarUtils.js +10 -11
  963. package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -1
  964. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +33 -34
  965. package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -1
  966. package/dist/node_modules/recharts/es6/util/ChartUtils.js +231 -236
  967. package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -1
  968. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +1 -2
  969. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -1
  970. package/dist/node_modules/recharts/es6/util/DOMUtils.js +1 -2
  971. package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -1
  972. package/dist/node_modules/recharts/es6/util/DataUtils.js +7 -8
  973. package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -1
  974. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +20 -21
  975. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -1
  976. package/dist/node_modules/recharts/es6/util/Events.js +0 -1
  977. package/dist/node_modules/recharts/es6/util/Events.js.map +1 -1
  978. package/dist/node_modules/recharts/es6/util/Global.js +0 -1
  979. package/dist/node_modules/recharts/es6/util/Global.js.map +1 -1
  980. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +1 -2
  981. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -1
  982. package/dist/node_modules/recharts/es6/util/LogUtils.js +9 -8
  983. package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -1
  984. package/dist/node_modules/recharts/es6/util/PolarUtils.js +4 -5
  985. package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -1
  986. package/dist/node_modules/recharts/es6/util/ReactUtils.js +11 -12
  987. package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -1
  988. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +5 -6
  989. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -1
  990. package/dist/node_modules/recharts/es6/util/ShallowEqual.js +1 -2
  991. package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -1
  992. package/dist/node_modules/recharts/es6/util/TickUtils.js +4 -4
  993. package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -1
  994. package/dist/node_modules/recharts/es6/util/calculateViewBox.js +0 -1
  995. package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -1
  996. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +7 -6
  997. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -1
  998. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +1 -2
  999. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -1
  1000. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +1 -2
  1001. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -1
  1002. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +1 -2
  1003. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -1
  1004. package/dist/node_modules/recharts/es6/util/getLegendProps.js +9 -10
  1005. package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -1
  1006. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +1 -2
  1007. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -1
  1008. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +4 -5
  1009. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -1
  1010. package/dist/node_modules/recharts/es6/util/tooltip/translate.js +3 -4
  1011. package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -1
  1012. package/dist/node_modules/recharts/es6/util/types.js +2 -3
  1013. package/dist/node_modules/recharts/es6/util/types.js.map +1 -1
  1014. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +2 -3
  1015. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -1
  1016. package/dist/node_modules/recharts-scale/es6/index.js +1 -1
  1017. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +1 -2
  1018. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -1
  1019. package/dist/node_modules/recharts-scale/es6/util/utils.js +3 -4
  1020. package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -1
  1021. package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js +2 -3
  1022. package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +1 -1
  1023. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js +41 -42
  1024. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +1 -1
  1025. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js +14 -15
  1026. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +1 -1
  1027. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js +21 -18
  1028. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +1 -1
  1029. package/dist/node_modules/rxjs/dist/esm5/internal/config.js +1 -2
  1030. package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +1 -1
  1031. package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js +1 -2
  1032. package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +1 -1
  1033. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +2 -3
  1034. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +1 -1
  1035. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js +1 -2
  1036. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +1 -1
  1037. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +1 -2
  1038. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +1 -1
  1039. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +1 -2
  1040. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +1 -1
  1041. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +1 -2
  1042. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +1 -1
  1043. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +1 -2
  1044. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +1 -1
  1045. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js +1 -2
  1046. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +1 -1
  1047. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +1 -2
  1048. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +1 -1
  1049. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +1 -2
  1050. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +1 -1
  1051. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js +1 -2
  1052. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +1 -1
  1053. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +1 -2
  1054. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +1 -1
  1055. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js +229 -167
  1056. package/dist/node_modules/tailwind-merge/dist/bundle-mjs.js.map +1 -1
  1057. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +2 -3
  1058. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -1
  1059. package/dist/node_modules/{rxjs/node_modules/tslib → tslib}/tslib.es6.js +1 -2
  1060. package/dist/node_modules/tslib/tslib.es6.js.map +1 -0
  1061. package/dist/node_modules/victory-vendor/es/d3-scale.js +28 -45
  1062. package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -1
  1063. package/dist/test/happydom.d.ts +1 -0
  1064. package/dist/translations/en.d.ts +0 -1
  1065. package/dist/translations/en.js +1 -2
  1066. package/dist/translations/en.js.map +1 -1
  1067. package/dist/utils/nativeBridge.d.ts +0 -1
  1068. package/dist/utils/nativeBridge.js +1 -2
  1069. package/package.json +76 -60
  1070. package/dist/__tests__/setup.d.ts +0 -2
  1071. package/dist/__tests__/setup.d.ts.map +0 -1
  1072. package/dist/__tests__/utils/renderWithProviders.d.ts.map +0 -1
  1073. package/dist/dev/main.d.ts.map +0 -1
  1074. package/dist/devportal/AdminDevportalRoot.d.ts.map +0 -1
  1075. package/dist/devportal/AdminDevportalRoutes.d.ts.map +0 -1
  1076. package/dist/devportal/DevportalRoot.d.ts.map +0 -1
  1077. package/dist/devportal/DevportalRoutes.d.ts.map +0 -1
  1078. package/dist/devportal/components/AppCard.d.ts.map +0 -1
  1079. package/dist/devportal/components/ConfirmDialog.d.ts.map +0 -1
  1080. package/dist/devportal/components/DataTable.d.ts.map +0 -1
  1081. package/dist/devportal/components/EmptyState.d.ts.map +0 -1
  1082. package/dist/devportal/components/FeatureFlaggedRoute.d.ts.map +0 -1
  1083. package/dist/devportal/components/FormField.d.ts.map +0 -1
  1084. package/dist/devportal/components/GrantDelegationModal.d.ts.map +0 -1
  1085. package/dist/devportal/components/ImageUploadField.d.ts.map +0 -1
  1086. package/dist/devportal/components/LoadingState.d.ts.map +0 -1
  1087. package/dist/devportal/components/ManifestViewer.d.ts.map +0 -1
  1088. package/dist/devportal/components/MarkdownEditor.d.ts.map +0 -1
  1089. package/dist/devportal/components/MultiSelectCombobox.d.ts.map +0 -1
  1090. package/dist/devportal/components/NodeSmokePanel.d.ts.map +0 -1
  1091. package/dist/devportal/components/OnboardingChecklist.d.ts.map +0 -1
  1092. package/dist/devportal/components/PackageValidationPanel.d.ts.map +0 -1
  1093. package/dist/devportal/components/PageLayout.d.ts.map +0 -1
  1094. package/dist/devportal/components/PermissionGuard.d.ts.map +0 -1
  1095. package/dist/devportal/components/RegisterPickupLocationModal.d.ts.map +0 -1
  1096. package/dist/devportal/components/ReportOrderIssueModal.d.ts.map +0 -1
  1097. package/dist/devportal/components/SecretDisplay.d.ts.map +0 -1
  1098. package/dist/devportal/components/SectionNav.d.ts.map +0 -1
  1099. package/dist/devportal/components/SelectionCheckbox.d.ts.map +0 -1
  1100. package/dist/devportal/components/StatCard.d.ts.map +0 -1
  1101. package/dist/devportal/components/StatusBadge.d.ts.map +0 -1
  1102. package/dist/devportal/components/TelemetryErrorBoundary.d.ts.map +0 -1
  1103. package/dist/devportal/components/index.d.ts.map +0 -1
  1104. package/dist/devportal/constants/appCategories.d.ts.map +0 -1
  1105. package/dist/devportal/constants/developerLinks.d.ts.map +0 -1
  1106. package/dist/devportal/constants/permissions.d.ts.map +0 -1
  1107. package/dist/devportal/events/index.d.ts.map +0 -1
  1108. package/dist/devportal/hooks/DevPortalProvider.d.ts.map +0 -1
  1109. package/dist/devportal/hooks/index.d.ts.map +0 -1
  1110. package/dist/devportal/hooks/useCarrierPickupLocations.d.ts.map +0 -1
  1111. package/dist/devportal/hooks/useGraphQL.d.ts.map +0 -1
  1112. package/dist/devportal/hooks/useIsSellerSection.d.ts.map +0 -1
  1113. package/dist/devportal/hooks/useOrganizationPickupAddresses.d.ts.map +0 -1
  1114. package/dist/devportal/hooks/usePackageUpload.d.ts.map +0 -1
  1115. package/dist/devportal/hooks/usePermission.d.ts.map +0 -1
  1116. package/dist/devportal/hooks/useProducts.d.ts.map +0 -1
  1117. package/dist/devportal/hooks/useSellerOrganization.d.ts.map +0 -1
  1118. package/dist/devportal/index.d.ts.map +0 -1
  1119. package/dist/devportal/pages/AdminOrganizationVerificationPage.d.ts.map +0 -1
  1120. package/dist/devportal/pages/AdminReviewPage.d.ts.map +0 -1
  1121. package/dist/devportal/pages/AnalyticsDashboardPage.d.ts.map +0 -1
  1122. package/dist/devportal/pages/ApiKeysPage.d.ts.map +0 -1
  1123. package/dist/devportal/pages/AppLogsPage.d.ts.map +0 -1
  1124. package/dist/devportal/pages/ApplicationDetailPage.d.ts.map +0 -1
  1125. package/dist/devportal/pages/ApplicationVersionsPage.d.ts.map +0 -1
  1126. package/dist/devportal/pages/ApplicationsPage.d.ts.map +0 -1
  1127. package/dist/devportal/pages/CreateApiKeyPage.d.ts.map +0 -1
  1128. package/dist/devportal/pages/CreateApplicationPage.d.ts.map +0 -1
  1129. package/dist/devportal/pages/CreateOAuthClientPage.d.ts.map +0 -1
  1130. package/dist/devportal/pages/CreateOrganizationPage.d.ts.map +0 -1
  1131. package/dist/devportal/pages/CreatePhysicalItemPage.d.ts.map +0 -1
  1132. package/dist/devportal/pages/CreateWebhookPage.d.ts.map +0 -1
  1133. package/dist/devportal/pages/DashboardPage.d.ts.map +0 -1
  1134. package/dist/devportal/pages/DelegationsPage.d.ts.map +0 -1
  1135. package/dist/devportal/pages/DocumentationPage.d.ts.map +0 -1
  1136. package/dist/devportal/pages/EditApplicationPage.d.ts.map +0 -1
  1137. package/dist/devportal/pages/EditPhysicalItemPage.d.ts.map +0 -1
  1138. package/dist/devportal/pages/InvitationDecisionPage.d.ts.map +0 -1
  1139. package/dist/devportal/pages/ListingPreviewPage.d.ts.map +0 -1
  1140. package/dist/devportal/pages/NodeLifecyclePage.d.ts.map +0 -1
  1141. package/dist/devportal/pages/OAuthCallbackPage.d.ts.map +0 -1
  1142. package/dist/devportal/pages/OAuthClientDetailPage.d.ts.map +0 -1
  1143. package/dist/devportal/pages/OAuthClientsPage.d.ts.map +0 -1
  1144. package/dist/devportal/pages/OrganizationDetailPage.d.ts.map +0 -1
  1145. package/dist/devportal/pages/OrganizationMembersPage.d.ts.map +0 -1
  1146. package/dist/devportal/pages/OrganizationsPage.d.ts.map +0 -1
  1147. package/dist/devportal/pages/PublishPage.d.ts.map +0 -1
  1148. package/dist/devportal/pages/PublisherPayoutsPage.d.ts.map +0 -1
  1149. package/dist/devportal/pages/PublisherProfilePage.d.ts.map +0 -1
  1150. package/dist/devportal/pages/ResourcesPage.d.ts.map +0 -1
  1151. package/dist/devportal/pages/RevenueDashboardPage.d.ts.map +0 -1
  1152. package/dist/devportal/pages/RevenueRedirectPage.d.ts.map +0 -1
  1153. package/dist/devportal/pages/SellerDashboardPage.d.ts.map +0 -1
  1154. package/dist/devportal/pages/SellerItemsPage.d.ts.map +0 -1
  1155. package/dist/devportal/pages/SellerOrdersPage.d.ts.map +0 -1
  1156. package/dist/devportal/pages/SettingsPage.d.ts.map +0 -1
  1157. package/dist/devportal/pages/SetupPage.d.ts.map +0 -1
  1158. package/dist/devportal/pages/StoreSubmissionPage.d.ts.map +0 -1
  1159. package/dist/devportal/pages/WebhookDetailPage.d.ts.map +0 -1
  1160. package/dist/devportal/pages/WebhooksPage.d.ts.map +0 -1
  1161. package/dist/devportal/providers/DevportalProvider.d.ts.map +0 -1
  1162. package/dist/devportal/store/devportalStore.d.ts.map +0 -1
  1163. package/dist/devportal/types/index.d.ts.map +0 -1
  1164. package/dist/devportal/utils/cn.d.ts.map +0 -1
  1165. package/dist/devportal/utils/constants.d.ts.map +0 -1
  1166. package/dist/devportal/utils/currency.d.ts.map +0 -1
  1167. package/dist/devportal/utils/developerOnboarding.d.ts.map +0 -1
  1168. package/dist/devportal/utils/graphqlEndpoint.d.ts.map +0 -1
  1169. package/dist/devportal/utils/i18n.d.ts.map +0 -1
  1170. package/dist/devportal/utils/nodeLifecycle.d.ts.map +0 -1
  1171. package/dist/devportal/utils/publisherPayouts.d.ts.map +0 -1
  1172. package/dist/devportal/utils/recaptcha.d.ts.map +0 -1
  1173. package/dist/devportal/utils/submitForReview.d.ts.map +0 -1
  1174. package/dist/devportal/utils/uploadErrors.d.ts.map +0 -1
  1175. package/dist/generated/global-operations.d.ts.map +0 -1
  1176. package/dist/generated/global-types.d.ts.map +0 -1
  1177. package/dist/generated/wspace-operations.d.ts.map +0 -1
  1178. package/dist/generated/wspace-types.d.ts.map +0 -1
  1179. package/dist/index.d.ts.map +0 -1
  1180. package/dist/node_modules/d3-array/src/ascending.js +0 -8
  1181. package/dist/node_modules/d3-array/src/ascending.js.map +0 -1
  1182. package/dist/node_modules/d3-array/src/bisect.js +0 -10
  1183. package/dist/node_modules/d3-array/src/bisect.js.map +0 -1
  1184. package/dist/node_modules/d3-array/src/bisector.js +0 -43
  1185. package/dist/node_modules/d3-array/src/bisector.js.map +0 -1
  1186. package/dist/node_modules/d3-array/src/descending.js +0 -8
  1187. package/dist/node_modules/d3-array/src/descending.js.map +0 -1
  1188. package/dist/node_modules/d3-array/src/max.js +0 -14
  1189. package/dist/node_modules/d3-array/src/max.js.map +0 -1
  1190. package/dist/node_modules/d3-array/src/min.js +0 -14
  1191. package/dist/node_modules/d3-array/src/min.js.map +0 -1
  1192. package/dist/node_modules/d3-array/src/number.js +0 -15
  1193. package/dist/node_modules/d3-array/src/number.js.map +0 -1
  1194. package/dist/node_modules/d3-array/src/quantile.js +0 -25
  1195. package/dist/node_modules/d3-array/src/quantile.js.map +0 -1
  1196. package/dist/node_modules/d3-array/src/quickselect.js +0 -26
  1197. package/dist/node_modules/d3-array/src/quickselect.js.map +0 -1
  1198. package/dist/node_modules/d3-array/src/range.js +0 -10
  1199. package/dist/node_modules/d3-array/src/range.js.map +0 -1
  1200. package/dist/node_modules/d3-array/src/sort.js +0 -17
  1201. package/dist/node_modules/d3-array/src/sort.js.map +0 -1
  1202. package/dist/node_modules/d3-array/src/ticks.js +0 -34
  1203. package/dist/node_modules/d3-array/src/ticks.js.map +0 -1
  1204. package/dist/node_modules/d3-color/src/color.js +0 -291
  1205. package/dist/node_modules/d3-color/src/color.js.map +0 -1
  1206. package/dist/node_modules/d3-color/src/define.js +0 -13
  1207. package/dist/node_modules/d3-color/src/define.js.map +0 -1
  1208. package/dist/node_modules/d3-format/src/defaultLocale.js +0 -15
  1209. package/dist/node_modules/d3-format/src/defaultLocale.js.map +0 -1
  1210. package/dist/node_modules/d3-format/src/exponent.js +0 -9
  1211. package/dist/node_modules/d3-format/src/exponent.js.map +0 -1
  1212. package/dist/node_modules/d3-format/src/formatDecimal.js +0 -13
  1213. package/dist/node_modules/d3-format/src/formatDecimal.js.map +0 -1
  1214. package/dist/node_modules/d3-format/src/formatGroup.js +0 -11
  1215. package/dist/node_modules/d3-format/src/formatGroup.js.map +0 -1
  1216. package/dist/node_modules/d3-format/src/formatNumerals.js +0 -12
  1217. package/dist/node_modules/d3-format/src/formatNumerals.js.map +0 -1
  1218. package/dist/node_modules/d3-format/src/formatPrefixAuto.js +0 -13
  1219. package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +0 -1
  1220. package/dist/node_modules/d3-format/src/formatRounded.js +0 -12
  1221. package/dist/node_modules/d3-format/src/formatRounded.js.map +0 -1
  1222. package/dist/node_modules/d3-format/src/formatSpecifier.js +0 -29
  1223. package/dist/node_modules/d3-format/src/formatSpecifier.js.map +0 -1
  1224. package/dist/node_modules/d3-format/src/formatTrim.js +0 -20
  1225. package/dist/node_modules/d3-format/src/formatTrim.js.map +0 -1
  1226. package/dist/node_modules/d3-format/src/formatTypes.js +0 -23
  1227. package/dist/node_modules/d3-format/src/formatTypes.js.map +0 -1
  1228. package/dist/node_modules/d3-format/src/identity.js +0 -8
  1229. package/dist/node_modules/d3-format/src/identity.js.map +0 -1
  1230. package/dist/node_modules/d3-format/src/locale.js +0 -86
  1231. package/dist/node_modules/d3-format/src/locale.js.map +0 -1
  1232. package/dist/node_modules/d3-format/src/precisionFixed.js +0 -9
  1233. package/dist/node_modules/d3-format/src/precisionFixed.js.map +0 -1
  1234. package/dist/node_modules/d3-format/src/precisionPrefix.js +0 -9
  1235. package/dist/node_modules/d3-format/src/precisionPrefix.js.map +0 -1
  1236. package/dist/node_modules/d3-format/src/precisionRound.js +0 -9
  1237. package/dist/node_modules/d3-format/src/precisionRound.js.map +0 -1
  1238. package/dist/node_modules/d3-interpolate/src/array.js +0 -15
  1239. package/dist/node_modules/d3-interpolate/src/array.js.map +0 -1
  1240. package/dist/node_modules/d3-interpolate/src/basis.js +0 -16
  1241. package/dist/node_modules/d3-interpolate/src/basis.js.map +0 -1
  1242. package/dist/node_modules/d3-interpolate/src/basisClosed.js +0 -13
  1243. package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +0 -1
  1244. package/dist/node_modules/d3-interpolate/src/color.js +0 -25
  1245. package/dist/node_modules/d3-interpolate/src/color.js.map +0 -1
  1246. package/dist/node_modules/d3-interpolate/src/constant.js +0 -6
  1247. package/dist/node_modules/d3-interpolate/src/constant.js.map +0 -1
  1248. package/dist/node_modules/d3-interpolate/src/date.js +0 -11
  1249. package/dist/node_modules/d3-interpolate/src/date.js.map +0 -1
  1250. package/dist/node_modules/d3-interpolate/src/number.js +0 -10
  1251. package/dist/node_modules/d3-interpolate/src/number.js.map +0 -1
  1252. package/dist/node_modules/d3-interpolate/src/numberArray.js +0 -16
  1253. package/dist/node_modules/d3-interpolate/src/numberArray.js.map +0 -1
  1254. package/dist/node_modules/d3-interpolate/src/object.js +0 -14
  1255. package/dist/node_modules/d3-interpolate/src/object.js.map +0 -1
  1256. package/dist/node_modules/d3-interpolate/src/piecewise.js +0 -14
  1257. package/dist/node_modules/d3-interpolate/src/piecewise.js.map +0 -1
  1258. package/dist/node_modules/d3-interpolate/src/rgb.js +0 -19
  1259. package/dist/node_modules/d3-interpolate/src/rgb.js.map +0 -1
  1260. package/dist/node_modules/d3-interpolate/src/round.js +0 -10
  1261. package/dist/node_modules/d3-interpolate/src/round.js.map +0 -1
  1262. package/dist/node_modules/d3-interpolate/src/string.js +0 -28
  1263. package/dist/node_modules/d3-interpolate/src/string.js.map +0 -1
  1264. package/dist/node_modules/d3-interpolate/src/value.js +0 -18
  1265. package/dist/node_modules/d3-interpolate/src/value.js.map +0 -1
  1266. package/dist/node_modules/d3-path/src/path.js.map +0 -1
  1267. package/dist/node_modules/d3-scale/src/band.js +0 -52
  1268. package/dist/node_modules/d3-scale/src/band.js.map +0 -1
  1269. package/dist/node_modules/d3-scale/src/constant.js +0 -10
  1270. package/dist/node_modules/d3-scale/src/constant.js.map +0 -1
  1271. package/dist/node_modules/d3-scale/src/continuous.js +0 -73
  1272. package/dist/node_modules/d3-scale/src/continuous.js.map +0 -1
  1273. package/dist/node_modules/d3-scale/src/diverging.js +0 -82
  1274. package/dist/node_modules/d3-scale/src/diverging.js.map +0 -1
  1275. package/dist/node_modules/d3-scale/src/identity.js +0 -20
  1276. package/dist/node_modules/d3-scale/src/identity.js.map +0 -1
  1277. package/dist/node_modules/d3-scale/src/init.js +0 -29
  1278. package/dist/node_modules/d3-scale/src/init.js.map +0 -1
  1279. package/dist/node_modules/d3-scale/src/linear.js +0 -36
  1280. package/dist/node_modules/d3-scale/src/linear.js.map +0 -1
  1281. package/dist/node_modules/d3-scale/src/log.js +0 -77
  1282. package/dist/node_modules/d3-scale/src/log.js.map +0 -1
  1283. package/dist/node_modules/d3-scale/src/nice.js +0 -10
  1284. package/dist/node_modules/d3-scale/src/nice.js.map +0 -1
  1285. package/dist/node_modules/d3-scale/src/number.js +0 -8
  1286. package/dist/node_modules/d3-scale/src/number.js.map +0 -1
  1287. package/dist/node_modules/d3-scale/src/ordinal.js +0 -31
  1288. package/dist/node_modules/d3-scale/src/ordinal.js.map +0 -1
  1289. package/dist/node_modules/d3-scale/src/pow.js +0 -37
  1290. package/dist/node_modules/d3-scale/src/pow.js.map +0 -1
  1291. package/dist/node_modules/d3-scale/src/quantile.js +0 -37
  1292. package/dist/node_modules/d3-scale/src/quantile.js.map +0 -1
  1293. package/dist/node_modules/d3-scale/src/quantize.js +0 -33
  1294. package/dist/node_modules/d3-scale/src/quantize.js.map +0 -1
  1295. package/dist/node_modules/d3-scale/src/radial.js +0 -39
  1296. package/dist/node_modules/d3-scale/src/radial.js.map +0 -1
  1297. package/dist/node_modules/d3-scale/src/sequential.js +0 -67
  1298. package/dist/node_modules/d3-scale/src/sequential.js.map +0 -1
  1299. package/dist/node_modules/d3-scale/src/sequentialQuantile.js +0 -30
  1300. package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +0 -1
  1301. package/dist/node_modules/d3-scale/src/symlog.js +0 -30
  1302. package/dist/node_modules/d3-scale/src/symlog.js.map +0 -1
  1303. package/dist/node_modules/d3-scale/src/threshold.js +0 -25
  1304. package/dist/node_modules/d3-scale/src/threshold.js.map +0 -1
  1305. package/dist/node_modules/d3-scale/src/tickFormat.js +0 -31
  1306. package/dist/node_modules/d3-scale/src/tickFormat.js.map +0 -1
  1307. package/dist/node_modules/d3-scale/src/time.js +0 -47
  1308. package/dist/node_modules/d3-scale/src/time.js.map +0 -1
  1309. package/dist/node_modules/d3-scale/src/utcTime.js +0 -19
  1310. package/dist/node_modules/d3-scale/src/utcTime.js.map +0 -1
  1311. package/dist/node_modules/d3-shape/src/area.js +0 -55
  1312. package/dist/node_modules/d3-shape/src/area.js.map +0 -1
  1313. package/dist/node_modules/d3-shape/src/array.js +0 -8
  1314. package/dist/node_modules/d3-shape/src/array.js.map +0 -1
  1315. package/dist/node_modules/d3-shape/src/constant.js +0 -10
  1316. package/dist/node_modules/d3-shape/src/constant.js.map +0 -1
  1317. package/dist/node_modules/d3-shape/src/curve/basis.js +0 -49
  1318. package/dist/node_modules/d3-shape/src/curve/basis.js.map +0 -1
  1319. package/dist/node_modules/d3-shape/src/curve/basisClosed.js +0 -50
  1320. package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +0 -1
  1321. package/dist/node_modules/d3-shape/src/curve/basisOpen.js +0 -46
  1322. package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +0 -1
  1323. package/dist/node_modules/d3-shape/src/curve/bump.js +0 -40
  1324. package/dist/node_modules/d3-shape/src/curve/bump.js.map +0 -1
  1325. package/dist/node_modules/d3-shape/src/curve/linear.js +0 -36
  1326. package/dist/node_modules/d3-shape/src/curve/linear.js.map +0 -1
  1327. package/dist/node_modules/d3-shape/src/curve/linearClosed.js +0 -25
  1328. package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +0 -1
  1329. package/dist/node_modules/d3-shape/src/curve/monotone.js +0 -94
  1330. package/dist/node_modules/d3-shape/src/curve/monotone.js.map +0 -1
  1331. package/dist/node_modules/d3-shape/src/curve/natural.js +0 -39
  1332. package/dist/node_modules/d3-shape/src/curve/natural.js.map +0 -1
  1333. package/dist/node_modules/d3-shape/src/curve/step.js +0 -47
  1334. package/dist/node_modules/d3-shape/src/curve/step.js.map +0 -1
  1335. package/dist/node_modules/d3-shape/src/line.js +0 -30
  1336. package/dist/node_modules/d3-shape/src/line.js.map +0 -1
  1337. package/dist/node_modules/d3-shape/src/math.js +0 -8
  1338. package/dist/node_modules/d3-shape/src/math.js.map +0 -1
  1339. package/dist/node_modules/d3-shape/src/noop.js +0 -6
  1340. package/dist/node_modules/d3-shape/src/noop.js.map +0 -1
  1341. package/dist/node_modules/d3-shape/src/offset/expand.js +0 -15
  1342. package/dist/node_modules/d3-shape/src/offset/expand.js.map +0 -1
  1343. package/dist/node_modules/d3-shape/src/offset/none.js +0 -8
  1344. package/dist/node_modules/d3-shape/src/offset/none.js.map +0 -1
  1345. package/dist/node_modules/d3-shape/src/offset/silhouette.js +0 -15
  1346. package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +0 -1
  1347. package/dist/node_modules/d3-shape/src/offset/wiggle.js +0 -21
  1348. package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +0 -1
  1349. package/dist/node_modules/d3-shape/src/order/none.js +0 -9
  1350. package/dist/node_modules/d3-shape/src/order/none.js.map +0 -1
  1351. package/dist/node_modules/d3-shape/src/path.js +0 -19
  1352. package/dist/node_modules/d3-shape/src/path.js.map +0 -1
  1353. package/dist/node_modules/d3-shape/src/point.js +0 -11
  1354. package/dist/node_modules/d3-shape/src/point.js.map +0 -1
  1355. package/dist/node_modules/d3-shape/src/stack.js +0 -34
  1356. package/dist/node_modules/d3-shape/src/stack.js.map +0 -1
  1357. package/dist/node_modules/d3-shape/src/symbol/circle.js +0 -10
  1358. package/dist/node_modules/d3-shape/src/symbol/circle.js.map +0 -1
  1359. package/dist/node_modules/d3-shape/src/symbol/cross.js +0 -10
  1360. package/dist/node_modules/d3-shape/src/symbol/cross.js.map +0 -1
  1361. package/dist/node_modules/d3-shape/src/symbol/diamond.js +0 -10
  1362. package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +0 -1
  1363. package/dist/node_modules/d3-shape/src/symbol/square.js +0 -10
  1364. package/dist/node_modules/d3-shape/src/symbol/square.js.map +0 -1
  1365. package/dist/node_modules/d3-shape/src/symbol/star.js +0 -15
  1366. package/dist/node_modules/d3-shape/src/symbol/star.js.map +0 -1
  1367. package/dist/node_modules/d3-shape/src/symbol/triangle.js +0 -10
  1368. package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +0 -1
  1369. package/dist/node_modules/d3-shape/src/symbol/wye.js +0 -10
  1370. package/dist/node_modules/d3-shape/src/symbol/wye.js.map +0 -1
  1371. package/dist/node_modules/d3-shape/src/symbol.js +0 -23
  1372. package/dist/node_modules/d3-shape/src/symbol.js.map +0 -1
  1373. package/dist/node_modules/d3-time/src/day.js +0 -21
  1374. package/dist/node_modules/d3-time/src/day.js.map +0 -1
  1375. package/dist/node_modules/d3-time/src/duration.js +0 -6
  1376. package/dist/node_modules/d3-time/src/duration.js.map +0 -1
  1377. package/dist/node_modules/d3-time/src/hour.js +0 -19
  1378. package/dist/node_modules/d3-time/src/hour.js.map +0 -1
  1379. package/dist/node_modules/d3-time/src/interval.js +0 -28
  1380. package/dist/node_modules/d3-time/src/interval.js.map +0 -1
  1381. package/dist/node_modules/d3-time/src/millisecond.js +0 -14
  1382. package/dist/node_modules/d3-time/src/millisecond.js.map +0 -1
  1383. package/dist/node_modules/d3-time/src/minute.js +0 -19
  1384. package/dist/node_modules/d3-time/src/minute.js.map +0 -1
  1385. package/dist/node_modules/d3-time/src/month.js +0 -18
  1386. package/dist/node_modules/d3-time/src/month.js.map +0 -1
  1387. package/dist/node_modules/d3-time/src/second.js +0 -13
  1388. package/dist/node_modules/d3-time/src/second.js.map +0 -1
  1389. package/dist/node_modules/d3-time/src/ticks.js +0 -125
  1390. package/dist/node_modules/d3-time/src/ticks.js.map +0 -1
  1391. package/dist/node_modules/d3-time/src/week.js +0 -25
  1392. package/dist/node_modules/d3-time/src/week.js.map +0 -1
  1393. package/dist/node_modules/d3-time/src/year.js +0 -26
  1394. package/dist/node_modules/d3-time/src/year.js.map +0 -1
  1395. package/dist/node_modules/d3-time-format/src/defaultLocale.js +0 -62
  1396. package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +0 -1
  1397. package/dist/node_modules/d3-time-format/src/locale.js.map +0 -1
  1398. package/dist/node_modules/internmap/src/index.js +0 -40
  1399. package/dist/node_modules/internmap/src/index.js.map +0 -1
  1400. package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js.map +0 -1
  1401. package/dist/translations/en.d.ts.map +0 -1
  1402. package/dist/utils/nativeBridge.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"EditApplicationPage.js","names":[],"sources":["../../../src/devportal/pages/EditApplicationPage.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useState, useEffect } from \"react\";\nimport { useI18n } from \"@burdenoff/fe-libs/shared/providers/shell/I18nProvider\";\nimport { useParams } from \"react-router\";\nimport {\n Save,\n Trash2,\n AlertTriangle,\n Archive,\n Send,\n AlertCircle,\n AppWindow,\n Power,\n Check,\n Copy,\n Eye,\n EyeOff,\n RefreshCw,\n} from \"lucide-react\";\nimport { appCategoryOptionsFor } from \"../constants/appCategories\";\nimport { PageLayout, PageSection } from \"../components/PageLayout\";\nimport {\n InputField,\n TextareaField,\n SelectField,\n TagInput,\n CheckboxField,\n} from \"../components/FormField\";\nimport { MarkdownEditor } from \"../components/MarkdownEditor\";\nimport { MultiSelectCombobox } from \"../components/MultiSelectCombobox\";\nimport { StatusBadge } from \"../components/StatusBadge\";\nimport { ConfirmDialog } from \"../components/ConfirmDialog\";\nimport { LoadingState } from \"../components/LoadingState\";\nimport { EmptyState } from \"../components/EmptyState\";\nimport { useDevportal } from \"../providers/DevportalProvider\";\nimport { nativeImpact, nativeNotify } from \"../../utils/nativeBridge\";\nimport { PermissionGuard } from \"../components\";\nimport { DEVPORTAL_PERMISSIONS } from \"../constants/permissions\";\nimport { useDevportalPermission } from \"../hooks/usePermission\";\nimport { useProducts } from \"../hooks\";\nimport type { Application, AppType, AppVisibility, AppStatus } from \"../types\";\nimport { APP_TYPE_LABELS } from \"../utils/constants\";\nimport {\n useGetApplicationQuery,\n useUpdateApplicationMutation,\n useDeleteApplicationMutation,\n useDeactivateAppMutation,\n useRotateApplicationSigningSecretMutation,\n} from \"../../generated/global-operations\";\n\ninterface EditApplicationFormData {\n name: string;\n slug: string;\n shortDescription: string;\n description: string;\n appType: AppType;\n visibility: AppVisibility;\n category: string;\n tags: string[];\n keywords: string[];\n websiteUrl: string;\n documentationUrl: string;\n supportUrl: string;\n privacyPolicyUrl: string;\n termsOfServiceUrl: string;\n githubUrl: string;\n oauthAuthUrl: string;\n oauthRevokeUrl: string;\n requiresApproval: boolean;\n}\n\ninterface FormErrors {\n name?: string;\n slug?: string;\n shortDescription?: string;\n appType?: string;\n category?: string;\n}\n\nconst APP_TYPE_OPTIONS = Object.entries(APP_TYPE_LABELS).map(\n ([value, label]) => ({\n value,\n label,\n }),\n);\n\nconst BASE_VISIBILITY_OPTIONS = [\n { value: \"PUBLIC\", label: \"Public — listed in the marketplace after review\" },\n { value: \"PRIVATE\", label: \"Private — only you (the creator) can see it\" },\n { value: \"INTERNAL\", label: \"Internal — visible to your entire dev org\" },\n];\n\nconst WORKFLOW_VISIBILITY_OPTIONS = [\n ...BASE_VISIBILITY_OPTIONS,\n {\n value: \"UNLISTED\",\n label: \"Unlisted — shareable via link, not listed in store\",\n },\n];\n\n/**\n * Helper to safely map GraphQL response to Application type\n */\nfunction mapToApplication(\n data: NonNullable<\n ReturnType<typeof useGetApplicationQuery>[\"data\"]\n >[\"application\"],\n): Application | null {\n if (!data) return null;\n return {\n id: data.id,\n name: data.name,\n slug: data.slug,\n shortDescription: data.shortDescription || undefined,\n description: data.description || undefined,\n appType: data.appType,\n status: data.status,\n visibility: data.visibility,\n tenantId: data.tenantId,\n developerId: data.developerId,\n developerOrganizationId: data.developerOrganizationId || undefined,\n category: data.category || undefined,\n tags: data.tags || [],\n keywords: data.keywords || [],\n iconUrl: data.iconUrl || undefined,\n websiteUrl: data.websiteUrl || undefined,\n documentationUrl: data.documentationUrl || undefined,\n supportUrl: data.supportUrl || undefined,\n privacyPolicyUrl: data.privacyPolicyUrl || undefined,\n termsOfServiceUrl: data.termsOfServiceUrl || undefined,\n githubUrl: data.githubUrl || undefined,\n pricingType: data.pricingType || undefined,\n installCount: data.installCount,\n activeInstallCount: data.activeInstallCount,\n averageRating: data.averageRating ?? undefined,\n reviewCount: data.reviewCount,\n submittedAt: data.submittedAt || undefined,\n publishedAt: data.publishedAt || undefined,\n lastReviewedAt: data.lastReviewedAt || undefined,\n reviewStatus: data.reviewStatus,\n reviewNotes: data.reviewNotes || undefined,\n reviewedBy: data.reviewedBy || undefined,\n isFeatured: data.isFeatured,\n isVerified: data.isVerified,\n requiresApproval: data.requiresApproval,\n oauthAuthUrl: data.oauthAuthUrl || undefined,\n oauthRevokeUrl: data.oauthRevokeUrl || undefined,\n createdAt: data.createdAt,\n updatedAt: data.updatedAt,\n };\n}\n\n/**\n * Edit application page — wired to real GraphQL mutations.\n */\nexport const EditApplicationPage: FC = () => {\n const { navigate, basePath } = useDevportal();\n const { appId } = useParams<{ appId: string }>();\n const { t } = useI18n();\n const { products: platformProducts } = useProducts();\n const { allowed: canUpdate } = useDevportalPermission(\n DEVPORTAL_PERMISSIONS.APP_UPDATE,\n );\n const { allowed: canDelete } = useDevportalPermission(\n DEVPORTAL_PERMISSIONS.APP_DELETE,\n );\n const tr = (key: string, fallback: string): string => {\n const value = t(key);\n return value === key ? fallback : value;\n };\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [errors, setErrors] = useState<FormErrors>({});\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n const [showDeprecateDialog, setShowDeprecateDialog] = useState(false);\n const [showDeactivateDialog, setShowDeactivateDialog] = useState(false);\n const [hasChanges, setHasChanges] = useState(false);\n const [showSecret, setShowSecret] = useState(false);\n const [isRotating, setIsRotating] = useState(false);\n const [rotatedSecret, setRotatedSecret] = useState<string | null>(null);\n const [copiedSecret, setCopiedSecret] = useState(false);\n\n // ---------------------------------------------------------------------------\n // GraphQL queries & mutations\n // ---------------------------------------------------------------------------\n const {\n data,\n loading,\n error: queryError,\n refetch,\n } = useGetApplicationQuery({\n variables: { id: appId! },\n skip: !appId,\n });\n\n const [updateApplication] = useUpdateApplicationMutation();\n const [deleteApplication] = useDeleteApplicationMutation();\n const [deactivateApp] = useDeactivateAppMutation();\n const [rotateSigningSecret] = useRotateApplicationSigningSecretMutation();\n\n // ---------------------------------------------------------------------------\n // Derive application from query data\n // ---------------------------------------------------------------------------\n const app = mapToApplication(data?.application);\n\n useEffect(() => {\n const name = app?.name;\n if (!appId || !name) return;\n const reg = (\n window as unknown as {\n __breadcrumbRegistry?: {\n register: (id: string, name: string) => void;\n unregister: (id: string) => void;\n };\n }\n ).__breadcrumbRegistry;\n reg?.register(appId, name);\n return () => reg?.unregister(appId);\n }, [appId, app?.name]);\n\n // ---------------------------------------------------------------------------\n // Form state — initialised from fetched app once available\n // ---------------------------------------------------------------------------\n const [formData, setFormData] = useState<EditApplicationFormData>({\n name: \"\",\n slug: \"\",\n shortDescription: \"\",\n description: \"\",\n appType: \"WEB_APP\",\n visibility: \"PUBLIC\",\n category: \"\",\n tags: [],\n keywords: [],\n websiteUrl: \"\",\n documentationUrl: \"\",\n supportUrl: \"\",\n privacyPolicyUrl: \"\",\n termsOfServiceUrl: \"\",\n githubUrl: \"\",\n oauthAuthUrl: \"\",\n oauthRevokeUrl: \"\",\n requiresApproval: false,\n });\n const [compatibleProducts, setCompatibleProducts] = useState<string[]>([]);\n\n useEffect(() => {\n if (app) {\n setFormData({\n name: app.name,\n slug: app.slug,\n shortDescription: app.shortDescription || \"\",\n description: app.description || \"\",\n appType: app.appType,\n visibility: app.visibility,\n category: app.category || \"\",\n tags: app.tags,\n keywords: app.keywords,\n websiteUrl: app.websiteUrl || \"\",\n documentationUrl: app.documentationUrl || \"\",\n supportUrl: app.supportUrl || \"\",\n privacyPolicyUrl: app.privacyPolicyUrl || \"\",\n termsOfServiceUrl: app.termsOfServiceUrl || \"\",\n githubUrl: app.githubUrl || \"\",\n oauthAuthUrl: app.oauthAuthUrl || \"\",\n oauthRevokeUrl: app.oauthRevokeUrl || \"\",\n requiresApproval: app.requiresApproval,\n });\n // Load compatibleProducts from manifest.compatibility.products\n // Note: mapToApplication doesn't copy manifest, so read from raw query data directly.\n const manifest = data?.application?.manifest as\n | Record<string, unknown>\n | null\n | undefined;\n const compatibility = manifest?.compatibility as\n | Record<string, unknown>\n | undefined;\n const products = Array.isArray(compatibility?.products)\n ? (compatibility.products as string[])\n : [];\n setCompatibleProducts(products);\n setHasChanges(false);\n }\n // Re-sync form when the underlying application data changes (e.g. after\n // a refetch triggered by a mutation). We intentionally depend on\n // `data?.application` rather than the derived `app` object so that the\n // effect fires when the query cache updates.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data?.application]);\n\n // ---------------------------------------------------------------------------\n // Handlers\n // ---------------------------------------------------------------------------\n const handleNavigate = (path: string) => {\n navigate?.(`${basePath}${path}`);\n };\n\n const handleChange = (\n field: keyof EditApplicationFormData,\n value: string | string[] | boolean,\n ) => {\n setFormData((prev) => ({ ...prev, [field]: value }));\n setHasChanges(true);\n if (errors[field as keyof FormErrors]) {\n setErrors((prev) => ({ ...prev, [field]: undefined }));\n }\n };\n\n const handleRotateSecret = async () => {\n if (!appId) return;\n setIsRotating(true);\n try {\n const result = await rotateSigningSecret({ variables: { id: appId } });\n const newSecret =\n result.data?.rotateApplicationSigningSecret?.signingSecret;\n if (newSecret) {\n setRotatedSecret(newSecret);\n setShowSecret(true);\n }\n } catch {\n nativeNotify(\"error\");\n } finally {\n setIsRotating(false);\n }\n };\n\n const handleCopySecret = async (secret: string) => {\n await navigator.clipboard.writeText(secret);\n setCopiedSecret(true);\n setTimeout(() => setCopiedSecret(false), 2000);\n };\n\n const validateForm = (): boolean => {\n const newErrors: FormErrors = {};\n\n if (!formData.name.trim()) {\n newErrors.name = tr(\n \"devportal.appNameRequired\",\n \"Application name is required\",\n );\n } else if (formData.name.length < 3) {\n newErrors.name = tr(\n \"devportal.appNameMinLength\",\n \"Name must be at least 3 characters\",\n );\n } else if (formData.name.length > 100) {\n newErrors.name = tr(\n \"devportal.appNameMaxLength\",\n \"Name must be less than 100 characters\",\n );\n }\n\n if (!formData.slug.trim()) {\n newErrors.slug = tr(\"devportal.slugRequired\", \"Slug is required\");\n } else if (!/^[a-z0-9-]+$/.test(formData.slug)) {\n newErrors.slug = tr(\n \"devportal.slugInvalidChars\",\n \"Slug can only contain lowercase letters, numbers, and hyphens\",\n );\n }\n\n if (!formData.shortDescription.trim()) {\n newErrors.shortDescription = tr(\n \"devportal.shortDescriptionRequired\",\n \"Short description is required\",\n );\n } else if (formData.shortDescription.length > 200) {\n newErrors.shortDescription = tr(\n \"devportal.shortDescriptionMaxLength\",\n \"Short description must be less than 200 characters\",\n );\n }\n\n if (!formData.appType) {\n newErrors.appType = tr(\n \"devportal.appTypeRequired\",\n \"Application type is required\",\n );\n }\n\n if (!formData.category) {\n newErrors.category = tr(\n \"devportal.categoryRequired\",\n \"Category is required\",\n );\n }\n\n setErrors(newErrors);\n return Object.keys(newErrors).length === 0;\n };\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n\n if (!validateForm() || !app) {\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n await updateApplication({\n variables: {\n id: app.id,\n input: {\n name: formData.name,\n shortDescription: formData.shortDescription,\n description: formData.description,\n appType: formData.appType,\n visibility: formData.visibility,\n category: formData.category,\n tags: formData.tags,\n keywords: formData.keywords,\n websiteUrl: formData.websiteUrl || null,\n documentationUrl: formData.documentationUrl || null,\n supportUrl: formData.supportUrl || null,\n privacyPolicyUrl: formData.privacyPolicyUrl || null,\n termsOfServiceUrl: formData.termsOfServiceUrl || null,\n githubUrl: formData.githubUrl || null,\n oauthAuthUrl: formData.oauthAuthUrl || null,\n oauthRevokeUrl: formData.oauthRevokeUrl || null,\n compatibleProducts,\n },\n },\n });\n setHasChanges(false);\n } catch (err) {\n console.error(\"Failed to update application:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleDelete = async () => {\n if (!app) return;\n void nativeImpact(\"medium\");\n try {\n await deleteApplication({\n variables: { id: app.id },\n });\n void nativeNotify(\"success\");\n handleNavigate(\"/apps\");\n } catch (err) {\n void nativeNotify(\"error\");\n console.error(\"Failed to delete application:\", err);\n }\n };\n\n const handleDeprecate = async () => {\n if (!app) return;\n try {\n // Deprecate is modelled as a status transition via update. The backend\n // treats a visibility change to PRIVATE + status mutation or a dedicated\n // deprecation endpoint. Here we use submitApplication with a status note\n // as the deprecate action since there is no separate `deprecateApplication`\n // mutation. If a dedicated mutation is added later, swap it in here.\n await updateApplication({\n variables: {\n id: app.id,\n input: {\n visibility: \"PRIVATE\",\n },\n },\n });\n setShowDeprecateDialog(false);\n } catch (err) {\n console.error(\"Failed to deprecate application:\", err);\n }\n };\n\n const handleDeactivate = async () => {\n if (!app) return;\n try {\n await deactivateApp({\n variables: { id: app.id },\n });\n setShowDeactivateDialog(false);\n handleNavigate(\"/apps\");\n } catch (err) {\n console.error(\"Failed to deactivate application:\", err);\n }\n };\n\n // ---------------------------------------------------------------------------\n // Loading / Error / Not-found states\n // ---------------------------------------------------------------------------\n if (loading) {\n return (\n <LoadingState\n message={tr(\"devportal.loadingApplication\", \"Loading application...\")}\n />\n );\n }\n\n if (queryError) {\n return (\n <PageLayout\n title={tr(\"devportal.error\", \"Error\")}\n backLink={`${basePath}/apps`}\n backLabel={tr(\"devportal.backToApplications\", \"Back to Applications\")}\n >\n <div className=\"flex flex-col items-center justify-center py-12 text-center\">\n <AlertCircle size={48} className=\"text-status-error-text mb-4\" />\n <h3 className=\"text-lg font-semibold mb-2\">\n {tr(\n \"devportal.failedToLoadApplication\",\n \"Failed to load application\",\n )}\n </h3>\n <p className=\"text-sm text-text-secondary\">{queryError.message}</p>\n </div>\n </PageLayout>\n );\n }\n\n if (!app) {\n return (\n <PageLayout\n title={tr(\"devportal.notFound\", \"Not Found\")}\n backLink={`${basePath}/apps`}\n backLabel={tr(\"devportal.backToApplications\", \"Back to Applications\")}\n >\n <EmptyState\n illustration=\"empty-generic\"\n icon={<AppWindow size={48} />}\n title={tr(\"devportal.applicationNotFound\", \"Application not found\")}\n description={tr(\n \"devportal.applicationNotFoundDescription\",\n \"The application you're looking for doesn't exist or you don't have access to it.\",\n )}\n />\n </PageLayout>\n );\n }\n\n // ---------------------------------------------------------------------------\n // Derived flags\n // ---------------------------------------------------------------------------\n const canSubmitForReview =\n app.status === \"DRAFT\" || app.status === \"REJECTED\";\n const canDeprecate = app.status === \"PUBLISHED\";\n const canDeactivate = app.status === \"ACTIVE\" || app.status === \"PUBLISHED\";\n\n // ---------------------------------------------------------------------------\n // Render\n // ---------------------------------------------------------------------------\n return (\n <PermissionGuard authOnly>\n <PageLayout\n title={`${tr(\"devportal.editAppTitlePrefix\", \"Edit:\")} ${app.name}`}\n description={tr(\n \"devportal.editAppDescription\",\n \"Update your application settings\",\n )}\n purpose={tr(\n \"devportal.editAppPurpose\",\n \"Change how this app appears and behaves — its name, description, classification, links, and lifecycle settings. Use the danger zone at the bottom to deprecate or delete it when it is retired.\",\n )}\n backLink={`${basePath}/apps/${app.id}`}\n backLabel={tr(\"devportal.backToApplication\", \"Back to Application\")}\n actions={\n <div className=\"flex items-center gap-2\">\n <StatusBadge status={app.status} type=\"app\" />\n </div>\n }\n >\n <form onSubmit={handleSubmit} className=\"space-y-8 max-w-3xl\">\n {/* Status banner for published apps */}\n {app.status === \"PUBLISHED\" && (\n <div className=\"rounded-lg border border-border-subtle bg-status-warning-bg-subtle p-4 flex gap-3\">\n <AlertTriangle\n size={20}\n className=\"text-status-warning-text flex-shrink-0 mt-0.5\"\n />\n <div className=\"text-sm text-status-warning-text\">\n <p className=\"font-medium\">\n {tr(\n \"devportal.appIsPublished\",\n \"This application is published\",\n )}\n </p>\n <p className=\"mt-1 text-status-warning-text\">\n {tr(\n \"devportal.publishedAppChangesWarning\",\n \"Changes to published apps may require re-review. Major changes will put the app back into review status.\",\n )}\n </p>\n </div>\n </div>\n )}\n\n {/* Basic Information */}\n <PageSection\n title={tr(\"devportal.basicInformation\", \"Basic Information\")}\n description={tr(\n \"devportal.basicInformationDescription\",\n \"Core details about your application\",\n )}\n >\n <div className=\"space-y-4\">\n <InputField\n label={tr(\"devportal.applicationName\", \"Application Name\")}\n value={formData.name}\n onChange={(e) => handleChange(\"name\", e.target.value)}\n placeholder={tr(\n \"devportal.applicationNamePlaceholder\",\n \"My Awesome App\",\n )}\n required\n error={errors.name}\n />\n\n <InputField\n label={tr(\"devportal.slug\", \"Slug\")}\n value={formData.slug}\n onChange={(e) =>\n handleChange(\"slug\", e.target.value.toLowerCase())\n }\n placeholder={tr(\"devportal.slugPlaceholder\", \"my-awesome-app\")}\n required\n error={errors.slug}\n hint={tr(\n \"devportal.slugChangeWarning\",\n \"Changing the slug may break existing integrations\",\n )}\n />\n\n <TextareaField\n label={tr(\"devportal.shortDescription\", \"Short Description\")}\n value={formData.shortDescription}\n onChange={(e) =>\n handleChange(\"shortDescription\", e.target.value)\n }\n placeholder={tr(\n \"devportal.shortDescriptionPlaceholder\",\n \"A brief description of what your app does\",\n )}\n required\n error={errors.shortDescription}\n hint={`${formData.shortDescription.length}/200 ${tr(\"devportal.characters\", \"characters\")}`}\n rows={2}\n />\n\n <MarkdownEditor\n label={tr(\"devportal.fullDescription\", \"Full Description\")}\n value={formData.description}\n onChange={(value) => handleChange(\"description\", value)}\n placeholder={tr(\n \"devportal.fullDescriptionPlaceholder\",\n \"Detailed description of your application, features, and use cases...\",\n )}\n rows={6}\n hint={tr(\n \"devportal.markdownSupported\",\n \"Markdown formatting is supported\",\n )}\n />\n </div>\n </PageSection>\n\n {/* Classification */}\n <PageSection\n title={tr(\"devportal.classification\", \"Classification\")}\n description={tr(\n \"devportal.classificationDescription\",\n \"Categorize your application\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <SelectField\n label={tr(\"devportal.applicationType\", \"Application Type\")}\n value={formData.appType}\n onChange={(e) => handleChange(\"appType\", e.target.value)}\n options={APP_TYPE_OPTIONS}\n required\n error={errors.appType}\n />\n\n <SelectField\n label={tr(\"devportal.category\", \"Category\")}\n value={formData.category}\n onChange={(e) => handleChange(\"category\", e.target.value)}\n options={appCategoryOptionsFor(app?.category)}\n required\n error={errors.category}\n />\n\n <SelectField\n label={tr(\"devportal.visibility\", \"Visibility\")}\n value={formData.visibility}\n onChange={(e) =>\n handleChange(\"visibility\", e.target.value as AppVisibility)\n }\n options={\n app?.appType === \"WORKFLOW\"\n ? WORKFLOW_VISIBILITY_OPTIONS\n : BASE_VISIBILITY_OPTIONS\n }\n hint={\n formData.visibility === \"PUBLIC\"\n ? tr(\n \"devportal.visibilityHintPublic\",\n \"Listed in the marketplace after review approval — anyone can discover and install it\",\n )\n : formData.visibility === \"UNLISTED\"\n ? tr(\n \"devportal.visibilityHintUnlisted\",\n \"Not in the store, but accessible via a direct link. You can still submit for marketplace review\",\n )\n : formData.visibility === \"INTERNAL\"\n ? tr(\n \"devportal.visibilityHintInternal\",\n \"Visible to all members of your developer organization — no one outside can access it\",\n )\n : tr(\n \"devportal.visibilityHintPrivate\",\n \"Only you (the creator) can see this — other org members cannot access it\",\n )\n }\n />\n </div>\n\n <TagInput\n label={tr(\"devportal.tags\", \"Tags\")}\n value={formData.tags}\n onChange={(tags) => handleChange(\"tags\", tags)}\n placeholder={tr(\n \"devportal.addTagsPlaceholder\",\n \"Add tags (press Enter)\",\n )}\n />\n\n <TagInput\n label={tr(\"devportal.keywords\", \"Keywords\")}\n value={formData.keywords}\n onChange={(keywords) => handleChange(\"keywords\", keywords)}\n placeholder={tr(\n \"devportal.addKeywordsPlaceholder\",\n \"Add keywords (press Enter)\",\n )}\n />\n\n {/* Compatible Products — NODE and WORKFLOW only */}\n {(formData.appType === \"NODE\" ||\n formData.appType === \"WORKFLOW\") && (\n <div className=\"space-y-2\">\n <label className=\"block text-sm font-medium text-text-primary\">\n Compatible Products\n </label>\n <p className=\"text-xs text-text-secondary\">\n Select which products this {formData.appType.toLowerCase()}{\" \"}\n works with. Users will see it in those products&apos; node\n stores.\n </p>\n <MultiSelectCombobox\n options={platformProducts.map((p) => ({\n value: p.slug,\n label: p.name,\n }))}\n selected={compatibleProducts}\n onChange={(next) => {\n setCompatibleProducts(next);\n setHasChanges(true);\n }}\n placeholder=\"Select products…\"\n searchPlaceholder=\"Search products…\"\n />\n </div>\n )}\n </PageSection>\n\n {/* URLs */}\n <PageSection\n title={tr(\"devportal.links\", \"Links\")}\n description={tr(\n \"devportal.linksDescription\",\n \"External resources for your application\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <InputField\n label={tr(\"devportal.websiteUrl\", \"Website URL\")}\n type=\"url\"\n value={formData.websiteUrl}\n onChange={(e) => handleChange(\"websiteUrl\", e.target.value)}\n placeholder={tr(\n \"devportal.websiteUrlPlaceholder\",\n \"https://example.com\",\n )}\n />\n\n <InputField\n label={tr(\"devportal.documentationUrl\", \"Documentation URL\")}\n type=\"url\"\n value={formData.documentationUrl}\n onChange={(e) =>\n handleChange(\"documentationUrl\", e.target.value)\n }\n placeholder={tr(\n \"devportal.documentationUrlPlaceholder\",\n \"https://docs.example.com\",\n )}\n />\n\n <InputField\n label={tr(\"devportal.supportUrl\", \"Support URL\")}\n type=\"url\"\n value={formData.supportUrl}\n onChange={(e) => handleChange(\"supportUrl\", e.target.value)}\n placeholder={tr(\n \"devportal.supportUrlPlaceholder\",\n \"https://support.example.com\",\n )}\n />\n\n <InputField\n label={tr(\"devportal.githubUrl\", \"GitHub URL\")}\n type=\"url\"\n value={formData.githubUrl}\n onChange={(e) => handleChange(\"githubUrl\", e.target.value)}\n placeholder={tr(\n \"devportal.githubUrlPlaceholder\",\n \"https://github.com/org/repo\",\n )}\n />\n\n <InputField\n label={tr(\"devportal.privacyPolicyUrl\", \"Privacy Policy URL\")}\n type=\"url\"\n value={formData.privacyPolicyUrl}\n onChange={(e) =>\n handleChange(\"privacyPolicyUrl\", e.target.value)\n }\n placeholder={tr(\n \"devportal.privacyPolicyUrlPlaceholder\",\n \"https://example.com/privacy\",\n )}\n />\n\n <InputField\n label={tr(\n \"devportal.termsOfServiceUrl\",\n \"Terms of Service URL\",\n )}\n type=\"url\"\n value={formData.termsOfServiceUrl}\n onChange={(e) =>\n handleChange(\"termsOfServiceUrl\", e.target.value)\n }\n placeholder={tr(\n \"devportal.termsOfServiceUrlPlaceholder\",\n \"https://example.com/terms\",\n )}\n />\n </div>\n </PageSection>\n\n {/* Integration Setup — INTEGRATION / API_INTEGRATION only */}\n {(formData.appType === \"INTEGRATION\" ||\n formData.appType === \"API_INTEGRATION\") && (\n <PageSection\n title=\"Integration Setup\"\n description=\"Configure the endpoints for your integration. After a user installs, we redirect them to your callback URL so your server can complete the connection.\"\n >\n <div className=\"space-y-4\">\n <InputField\n label=\"Post-install Callback URL\"\n type=\"url\"\n value={formData.oauthAuthUrl}\n onChange={(e) => handleChange(\"oauthAuthUrl\", e.target.value)}\n placeholder=\"https://yourapp.com/callback\"\n hint=\"Users land here after install with ?installation_id=xxx appended\"\n />\n <InputField\n label=\"Revoke URL\"\n type=\"url\"\n value={formData.oauthRevokeUrl}\n onChange={(e) =>\n handleChange(\"oauthRevokeUrl\", e.target.value)\n }\n placeholder=\"https://yourapp.com/oauth/revoke\"\n hint=\"We POST to this URL when a user uninstalls your integration\"\n />\n {/* Signing secret — read-only, rotate-only */}\n {(() => {\n const displaySecret =\n rotatedSecret ?? data?.application?.signingSecret;\n const masked = \"boff_sk_\" + \"•\".repeat(32);\n return (\n <div className=\"space-y-1.5\">\n <label className=\"block text-sm font-medium text-text-primary\">\n Signing Secret\n </label>\n <p className=\"text-xs text-text-secondary\">\n Use this secret to authenticate{\" \"}\n <code className=\"font-mono text-xs bg-bg-sunken px-1 py-0.5 rounded\">\n verifyInstallation\n </code>{\" \"}\n calls from your integration server. Store it securely —\n it is only shown immediately after generation or\n rotation.\n </p>\n {displaySecret ? (\n <div className=\"flex items-center gap-2\">\n <div className=\"flex-1 flex items-center gap-0 rounded-md border border-border-default bg-bg-sunken overflow-hidden\">\n <code className=\"flex-1 px-3 py-2 text-xs font-mono text-text-primary truncate\">\n {showSecret ? displaySecret : masked}\n </code>\n <button\n type=\"button\"\n onClick={() => setShowSecret((v) => !v)}\n className=\"px-2 py-2 text-text-secondary hover:text-text-primary border-l border-border-default\"\n title={showSecret ? \"Hide\" : \"Reveal\"}\n >\n {showSecret ? (\n <EyeOff size={14} />\n ) : (\n <Eye size={14} />\n )}\n </button>\n <button\n type=\"button\"\n onClick={() => handleCopySecret(displaySecret)}\n className=\"px-2 py-2 text-text-secondary hover:text-text-primary border-l border-border-default\"\n title=\"Copy to clipboard\"\n >\n {copiedSecret ? (\n <Check size={14} className=\"text-green-500\" />\n ) : (\n <Copy size={14} />\n )}\n </button>\n </div>\n <button\n type=\"button\"\n onClick={handleRotateSecret}\n disabled={isRotating}\n className=\"flex items-center gap-1.5 px-3 py-2 text-xs rounded-md border border-border-default bg-bg-default text-text-primary hover:bg-bg-subtle disabled:opacity-50\"\n title=\"Rotate signing secret\"\n >\n <RefreshCw\n size={12}\n className={isRotating ? \"animate-spin\" : \"\"}\n />\n Rotate\n </button>\n </div>\n ) : (\n <button\n type=\"button\"\n onClick={handleRotateSecret}\n disabled={isRotating}\n className=\"flex items-center gap-1.5 px-3 py-2 text-xs rounded-md border border-border-default bg-bg-default text-text-primary hover:bg-bg-subtle disabled:opacity-50\"\n >\n <RefreshCw\n size={12}\n className={isRotating ? \"animate-spin\" : \"\"}\n />\n Generate Signing Secret\n </button>\n )}\n {rotatedSecret && (\n <p className=\"text-xs text-amber-600 dark:text-amber-400\">\n New secret generated. Copy it now — the old secret is\n already invalidated.\n </p>\n )}\n </div>\n );\n })()}\n </div>\n </PageSection>\n )}\n\n {/* Settings */}\n <PageSection\n title={tr(\"devportal.settings\", \"Settings\")}\n description={tr(\n \"devportal.settingsDescription\",\n \"Additional configuration options\",\n )}\n >\n <div className=\"space-y-4\">\n <CheckboxField\n label={tr(\n \"devportal.requireWorkspaceAdminApproval\",\n \"Require workspace admin approval\",\n )}\n description={tr(\n \"devportal.requireWorkspaceAdminApprovalDescription\",\n \"When enabled, workspace admins must approve installations before users can access this app\",\n )}\n checked={formData.requiresApproval}\n onChange={(e) =>\n handleChange(\"requiresApproval\", e.target.checked)\n }\n />\n </div>\n </PageSection>\n\n {/* Submission readiness checklist */}\n {canSubmitForReview && (\n <div className=\"rounded-lg border border-border-subtle bg-bg-sunken p-4 space-y-2\">\n <p className=\"text-sm font-medium text-text-primary flex items-center gap-2\">\n <Send size={14} />\n {tr(\"devportal.submissionChecklist\", \"Submission Checklist\")}\n </p>\n {[\n {\n label: tr(\"devportal.checkName\", \"Name set\"),\n ok: !!formData.name.trim(),\n },\n {\n label: tr(\n \"devportal.checkShortDesc\",\n \"Short description set\",\n ),\n ok: !!formData.shortDescription.trim(),\n },\n {\n label: tr(\n \"devportal.checkFullDesc\",\n \"Full description added\",\n ),\n ok: !!formData.description.trim(),\n },\n {\n label: tr(\"devportal.checkCategory\", \"Category selected\"),\n ok: !!formData.category,\n },\n {\n label: tr(\n \"devportal.checkVisibility\",\n \"Visibility set to Public or Unlisted\",\n ),\n ok:\n !!formData.visibility && formData.visibility !== \"PRIVATE\",\n },\n {\n label: tr(\"devportal.checkSaved\", \"All changes saved\"),\n ok: !hasChanges,\n },\n ...(app?.appType === \"NODE\" || app?.appType === \"WORKFLOW\"\n ? [\n {\n label: tr(\n \"devportal.checkVersion\",\n \"At least one version uploaded\",\n ),\n ok: (data?.application?.versions?.totalCount ?? 0) > 0,\n },\n ]\n : []),\n ].map((item) => (\n <div\n key={item.label}\n className=\"flex items-center gap-2 text-sm\"\n >\n {item.ok ? (\n <span className=\"text-status-success-text\">✓</span>\n ) : (\n <span className=\"text-status-error-text\">✗</span>\n )}\n <span\n className={\n item.ok\n ? \"text-text-secondary line-through\"\n : \"text-text-primary\"\n }\n >\n {item.label}\n </span>\n </div>\n ))}\n </div>\n )}\n\n {/* Actions */}\n <div className=\"flex flex-col gap-4 border-t pt-6\">\n {/* Primary actions */}\n <div className=\"flex items-center justify-end\">\n <button\n type=\"submit\"\n disabled={isSubmitting || !hasChanges || !canUpdate}\n aria-disabled={!canUpdate}\n className=\"inline-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 {isSubmitting ? (\n <>\n <span className=\"h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n {tr(\"devportal.saving\", \"Saving...\")}\n </>\n ) : (\n <>\n <Save size={16} />\n {tr(\"devportal.saveChanges\", \"Save Changes\")}\n </>\n )}\n </button>\n </div>\n\n {/* Danger zone */}\n <div className=\"rounded-lg border border-border-subtle bg-status-error-bg-subtle p-4\">\n <h3 className=\"text-sm font-medium text-status-error-text\">\n {tr(\"devportal.dangerZone\", \"Danger Zone\")}\n </h3>\n <p className=\"mt-1 text-sm text-status-error-text\">\n {tr(\n \"devportal.dangerZoneWarning\",\n \"These actions are irreversible. Please proceed with caution.\",\n )}\n </p>\n <div className=\"mt-4 flex gap-3\">\n {canDeprecate && (\n <button\n type=\"button\"\n onClick={() => setShowDeprecateDialog(true)}\n className=\"inline-flex items-center gap-2 rounded-md border border-accent-orange bg-bg-surface px-3 py-1.5 text-sm font-medium text-accent-orange hover:bg-accent-orange-subtle transition-colors\"\n >\n <Archive size={14} />\n {tr(\"devportal.deprecateApp\", \"Deprecate App\")}\n </button>\n )}\n {canDeactivate && (\n <button\n type=\"button\"\n onClick={() => setShowDeactivateDialog(true)}\n className=\"inline-flex items-center gap-2 rounded-md border border-accent-orange bg-bg-surface px-3 py-1.5 text-sm font-medium text-accent-orange hover:bg-accent-orange-subtle transition-colors\"\n >\n <Power size={14} />\n {tr(\"devportal.deactivateApp\", \"Deactivate App\")}\n </button>\n )}\n <button\n type=\"button\"\n onClick={() => setShowDeleteDialog(true)}\n disabled={!canDelete}\n aria-disabled={!canDelete}\n className=\"inline-flex items-center gap-2 rounded-md border border-status-error-bg bg-bg-surface px-3 py-1.5 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle transition-colors disabled:opacity-50\"\n >\n <Trash2 size={14} />\n {tr(\"devportal.deleteApp\", \"Delete App\")}\n </button>\n </div>\n </div>\n </div>\n </form>\n\n {/* Delete confirmation dialog */}\n <ConfirmDialog\n open={showDeleteDialog}\n onOpenChange={setShowDeleteDialog}\n title={tr(\"devportal.deleteApplication\", \"Delete Application\")}\n description={tr(\n \"devportal.deleteApplicationConfirm\",\n `Are you sure you want to delete \"${app.name}\"? This action cannot be undone. All OAuth clients, API keys, webhooks, and analytics data will be permanently deleted.`,\n )}\n confirmLabel={tr(\"devportal.deleteApplication\", \"Delete Application\")}\n variant=\"destructive\"\n onConfirm={handleDelete}\n />\n\n {/* Deprecate confirmation dialog */}\n <ConfirmDialog\n open={showDeprecateDialog}\n onOpenChange={setShowDeprecateDialog}\n title={tr(\"devportal.deprecateApplication\", \"Deprecate Application\")}\n description={tr(\n \"devportal.deprecateApplicationConfirm\",\n `Are you sure you want to deprecate \"${app.name}\"? Existing users will still be able to use the app, but it will no longer be visible in the marketplace and new installations will be disabled.`,\n )}\n confirmLabel={tr(\n \"devportal.deprecateApplication\",\n \"Deprecate Application\",\n )}\n variant=\"warning\"\n onConfirm={handleDeprecate}\n />\n\n {/* Deactivate confirmation dialog */}\n <ConfirmDialog\n open={showDeactivateDialog}\n onOpenChange={setShowDeactivateDialog}\n title={tr(\n \"devportal.deactivateApplication\",\n \"Deactivate Application\",\n )}\n description={tr(\n \"devportal.deactivateApplicationConfirm\",\n `Are you sure you want to deactivate \"${app.name}\"? This will revoke all active tokens and disable the app from the auth-svc layer. The app will no longer be able to authenticate or act on behalf of users.`,\n )}\n confirmLabel={tr(\n \"devportal.deactivateApplication\",\n \"Deactivate Application\",\n )}\n variant=\"destructive\"\n onConfirm={handleDeactivate}\n />\n </PageLayout>\n </PermissionGuard>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"EditApplicationPage.js","names":["_Fragment","APP_TYPE_OPTIONS","APP_TYPE_LABELS","value","label","BASE_VISIBILITY_OPTIONS","WORKFLOW_VISIBILITY_OPTIONS","mapToApplication","data","EditApplicationPage","useDevportal","useParams","useI18n","platformProducts","useProducts","canUpdate","useDevportalPermission","DEVPORTAL_PERMISSIONS","canDelete","tr","t","key","fallback","isSubmitting","setIsSubmitting","useState","errors","setErrors","showDeleteDialog","setShowDeleteDialog","showDeprecateDialog","setShowDeprecateDialog","showDeactivateDialog","setShowDeactivateDialog","hasChanges","setHasChanges","showSecret","setShowSecret","isRotating","setIsRotating","rotatedSecret","setRotatedSecret","copiedSecret","setCopiedSecret","queryError","useGetApplicationQuery","appId","updateApplication","useUpdateApplicationMutation","deleteApplication","useDeleteApplicationMutation","deactivateApp","useDeactivateAppMutation","rotateSigningSecret","useRotateApplicationSigningSecretMutation","app","name","reg","formData","setFormData","compatibleProducts","setCompatibleProducts","compatibility","products","handleNavigate","basePath","path","handleChange","prev","field","handleRotateSecret","newSecret","handleCopySecret","secret","validateForm","newErrors","handleSubmit","err","handleDelete","nativeNotify","handleDeprecate","handleDeactivate","loading","LoadingState","PageLayout","AlertCircle","EmptyState","AppWindow","canSubmitForReview","canDeprecate","canDeactivate","PermissionGuard","StatusBadge","AlertTriangle","PageSection","InputField","TextareaField","MarkdownEditor","SelectField","appCategoryOptionsFor","TagInput","tags","keywords","MultiSelectCombobox","p","next","displaySecret","masked","v","jsx","EyeOff","Eye","Check","Copy","RefreshCw","CheckboxField","Send","item","Fragment","Save","Archive","Power","Trash2","ConfirmDialog"],"sources":["../../../src/devportal/pages/EditApplicationPage.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useState, useEffect } from \"react\";\nimport { useI18n } from \"@burdenoff/fe-libs/shared/providers/shell/I18nProvider\";\nimport { useParams } from \"react-router\";\nimport {\n Save,\n Trash2,\n AlertTriangle,\n Archive,\n Send,\n AlertCircle,\n AppWindow,\n Power,\n Check,\n Copy,\n Eye,\n EyeOff,\n RefreshCw,\n} from \"lucide-react\";\nimport { appCategoryOptionsFor } from \"../constants/appCategories\";\nimport { PageLayout, PageSection } from \"../components/PageLayout\";\nimport {\n InputField,\n TextareaField,\n SelectField,\n TagInput,\n CheckboxField,\n} from \"../components/FormField\";\nimport { MarkdownEditor } from \"../components/MarkdownEditor\";\nimport { MultiSelectCombobox } from \"../components/MultiSelectCombobox\";\nimport { StatusBadge } from \"../components/StatusBadge\";\nimport { ConfirmDialog } from \"../components/ConfirmDialog\";\nimport { LoadingState } from \"../components/LoadingState\";\nimport { EmptyState } from \"../components/EmptyState\";\nimport { useDevportal } from \"../providers/DevportalProvider\";\nimport { nativeImpact, nativeNotify } from \"../../utils/nativeBridge\";\nimport { PermissionGuard } from \"../components\";\nimport { DEVPORTAL_PERMISSIONS } from \"../constants/permissions\";\nimport { useDevportalPermission } from \"../hooks/usePermission\";\nimport { useProducts } from \"../hooks\";\nimport type { Application, AppType, AppVisibility, AppStatus } from \"../types\";\nimport { APP_TYPE_LABELS } from \"../utils/constants\";\nimport {\n useGetApplicationQuery,\n useUpdateApplicationMutation,\n useDeleteApplicationMutation,\n useDeactivateAppMutation,\n useRotateApplicationSigningSecretMutation,\n} from \"../../generated/global-operations\";\n\ninterface EditApplicationFormData {\n name: string;\n slug: string;\n shortDescription: string;\n description: string;\n appType: AppType;\n visibility: AppVisibility;\n category: string;\n tags: string[];\n keywords: string[];\n websiteUrl: string;\n documentationUrl: string;\n supportUrl: string;\n privacyPolicyUrl: string;\n termsOfServiceUrl: string;\n githubUrl: string;\n oauthAuthUrl: string;\n oauthRevokeUrl: string;\n requiresApproval: boolean;\n}\n\ninterface FormErrors {\n name?: string;\n slug?: string;\n shortDescription?: string;\n appType?: string;\n category?: string;\n}\n\nconst APP_TYPE_OPTIONS = Object.entries(APP_TYPE_LABELS).map(\n ([value, label]) => ({\n value,\n label,\n }),\n);\n\nconst BASE_VISIBILITY_OPTIONS = [\n { value: \"PUBLIC\", label: \"Public — listed in the marketplace after review\" },\n { value: \"PRIVATE\", label: \"Private — only you (the creator) can see it\" },\n { value: \"INTERNAL\", label: \"Internal — visible to your entire dev org\" },\n];\n\nconst WORKFLOW_VISIBILITY_OPTIONS = [\n ...BASE_VISIBILITY_OPTIONS,\n {\n value: \"UNLISTED\",\n label: \"Unlisted — shareable via link, not listed in store\",\n },\n];\n\n/**\n * Helper to safely map GraphQL response to Application type\n */\nfunction mapToApplication(\n data: NonNullable<\n ReturnType<typeof useGetApplicationQuery>[\"data\"]\n >[\"application\"],\n): Application | null {\n if (!data) return null;\n return {\n id: data.id,\n name: data.name,\n slug: data.slug,\n shortDescription: data.shortDescription || undefined,\n description: data.description || undefined,\n appType: data.appType,\n status: data.status,\n visibility: data.visibility,\n tenantId: data.tenantId,\n developerId: data.developerId,\n developerOrganizationId: data.developerOrganizationId || undefined,\n category: data.category || undefined,\n tags: data.tags || [],\n keywords: data.keywords || [],\n iconUrl: data.iconUrl || undefined,\n websiteUrl: data.websiteUrl || undefined,\n documentationUrl: data.documentationUrl || undefined,\n supportUrl: data.supportUrl || undefined,\n privacyPolicyUrl: data.privacyPolicyUrl || undefined,\n termsOfServiceUrl: data.termsOfServiceUrl || undefined,\n githubUrl: data.githubUrl || undefined,\n pricingType: data.pricingType || undefined,\n installCount: data.installCount,\n activeInstallCount: data.activeInstallCount,\n averageRating: data.averageRating ?? undefined,\n reviewCount: data.reviewCount,\n submittedAt: data.submittedAt || undefined,\n publishedAt: data.publishedAt || undefined,\n lastReviewedAt: data.lastReviewedAt || undefined,\n reviewStatus: data.reviewStatus,\n reviewNotes: data.reviewNotes || undefined,\n reviewedBy: data.reviewedBy || undefined,\n isFeatured: data.isFeatured,\n isVerified: data.isVerified,\n requiresApproval: data.requiresApproval,\n oauthAuthUrl: data.oauthAuthUrl || undefined,\n oauthRevokeUrl: data.oauthRevokeUrl || undefined,\n createdAt: data.createdAt,\n updatedAt: data.updatedAt,\n };\n}\n\n/**\n * Edit application page — wired to real GraphQL mutations.\n */\nexport const EditApplicationPage: FC = () => {\n const { navigate, basePath } = useDevportal();\n const { appId } = useParams<{ appId: string }>();\n const { t } = useI18n();\n const { products: platformProducts } = useProducts();\n const { allowed: canUpdate } = useDevportalPermission(\n DEVPORTAL_PERMISSIONS.APP_UPDATE,\n );\n const { allowed: canDelete } = useDevportalPermission(\n DEVPORTAL_PERMISSIONS.APP_DELETE,\n );\n const tr = (key: string, fallback: string): string => {\n const value = t(key);\n return value === key ? fallback : value;\n };\n const [isSubmitting, setIsSubmitting] = useState(false);\n const [errors, setErrors] = useState<FormErrors>({});\n const [showDeleteDialog, setShowDeleteDialog] = useState(false);\n const [showDeprecateDialog, setShowDeprecateDialog] = useState(false);\n const [showDeactivateDialog, setShowDeactivateDialog] = useState(false);\n const [hasChanges, setHasChanges] = useState(false);\n const [showSecret, setShowSecret] = useState(false);\n const [isRotating, setIsRotating] = useState(false);\n const [rotatedSecret, setRotatedSecret] = useState<string | null>(null);\n const [copiedSecret, setCopiedSecret] = useState(false);\n\n // ---------------------------------------------------------------------------\n // GraphQL queries & mutations\n // ---------------------------------------------------------------------------\n const {\n data,\n loading,\n error: queryError,\n refetch,\n } = useGetApplicationQuery({\n variables: { id: appId! },\n skip: !appId,\n });\n\n const [updateApplication] = useUpdateApplicationMutation();\n const [deleteApplication] = useDeleteApplicationMutation();\n const [deactivateApp] = useDeactivateAppMutation();\n const [rotateSigningSecret] = useRotateApplicationSigningSecretMutation();\n\n // ---------------------------------------------------------------------------\n // Derive application from query data\n // ---------------------------------------------------------------------------\n const app = mapToApplication(data?.application);\n\n useEffect(() => {\n const name = app?.name;\n if (!appId || !name) return;\n const reg = (\n window as unknown as {\n __breadcrumbRegistry?: {\n register: (id: string, name: string) => void;\n unregister: (id: string) => void;\n };\n }\n ).__breadcrumbRegistry;\n reg?.register(appId, name);\n return () => reg?.unregister(appId);\n }, [appId, app?.name]);\n\n // ---------------------------------------------------------------------------\n // Form state — initialised from fetched app once available\n // ---------------------------------------------------------------------------\n const [formData, setFormData] = useState<EditApplicationFormData>({\n name: \"\",\n slug: \"\",\n shortDescription: \"\",\n description: \"\",\n appType: \"WEB_APP\",\n visibility: \"PUBLIC\",\n category: \"\",\n tags: [],\n keywords: [],\n websiteUrl: \"\",\n documentationUrl: \"\",\n supportUrl: \"\",\n privacyPolicyUrl: \"\",\n termsOfServiceUrl: \"\",\n githubUrl: \"\",\n oauthAuthUrl: \"\",\n oauthRevokeUrl: \"\",\n requiresApproval: false,\n });\n const [compatibleProducts, setCompatibleProducts] = useState<string[]>([]);\n\n useEffect(() => {\n if (app) {\n setFormData({\n name: app.name,\n slug: app.slug,\n shortDescription: app.shortDescription || \"\",\n description: app.description || \"\",\n appType: app.appType,\n visibility: app.visibility,\n category: app.category || \"\",\n tags: app.tags,\n keywords: app.keywords,\n websiteUrl: app.websiteUrl || \"\",\n documentationUrl: app.documentationUrl || \"\",\n supportUrl: app.supportUrl || \"\",\n privacyPolicyUrl: app.privacyPolicyUrl || \"\",\n termsOfServiceUrl: app.termsOfServiceUrl || \"\",\n githubUrl: app.githubUrl || \"\",\n oauthAuthUrl: app.oauthAuthUrl || \"\",\n oauthRevokeUrl: app.oauthRevokeUrl || \"\",\n requiresApproval: app.requiresApproval,\n });\n // Load compatibleProducts from manifest.compatibility.products\n // Note: mapToApplication doesn't copy manifest, so read from raw query data directly.\n const manifest = data?.application?.manifest as\n Record<string, unknown> | null | undefined;\n const compatibility = manifest?.compatibility as\n Record<string, unknown> | undefined;\n const products = Array.isArray(compatibility?.products)\n ? (compatibility.products as string[])\n : [];\n setCompatibleProducts(products);\n setHasChanges(false);\n }\n // Re-sync form when the underlying application data changes (e.g. after\n // a refetch triggered by a mutation). We intentionally depend on\n // `data?.application` rather than the derived `app` object so that the\n // effect fires when the query cache updates.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data?.application]);\n\n // ---------------------------------------------------------------------------\n // Handlers\n // ---------------------------------------------------------------------------\n const handleNavigate = (path: string) => {\n navigate?.(`${basePath}${path}`);\n };\n\n const handleChange = (\n field: keyof EditApplicationFormData,\n value: string | string[] | boolean,\n ) => {\n setFormData((prev) => ({ ...prev, [field]: value }));\n setHasChanges(true);\n if (errors[field as keyof FormErrors]) {\n setErrors((prev) => ({ ...prev, [field]: undefined }));\n }\n };\n\n const handleRotateSecret = async () => {\n if (!appId) return;\n setIsRotating(true);\n try {\n const result = await rotateSigningSecret({ variables: { id: appId } });\n const newSecret =\n result.data?.rotateApplicationSigningSecret?.signingSecret;\n if (newSecret) {\n setRotatedSecret(newSecret);\n setShowSecret(true);\n }\n } catch {\n nativeNotify(\"error\");\n } finally {\n setIsRotating(false);\n }\n };\n\n const handleCopySecret = async (secret: string) => {\n await navigator.clipboard.writeText(secret);\n setCopiedSecret(true);\n setTimeout(() => setCopiedSecret(false), 2000);\n };\n\n const validateForm = (): boolean => {\n const newErrors: FormErrors = {};\n\n if (!formData.name.trim()) {\n newErrors.name = tr(\n \"devportal.appNameRequired\",\n \"Application name is required\",\n );\n } else if (formData.name.length < 3) {\n newErrors.name = tr(\n \"devportal.appNameMinLength\",\n \"Name must be at least 3 characters\",\n );\n } else if (formData.name.length > 100) {\n newErrors.name = tr(\n \"devportal.appNameMaxLength\",\n \"Name must be less than 100 characters\",\n );\n }\n\n if (!formData.slug.trim()) {\n newErrors.slug = tr(\"devportal.slugRequired\", \"Slug is required\");\n } else if (!/^[a-z0-9-]+$/.test(formData.slug)) {\n newErrors.slug = tr(\n \"devportal.slugInvalidChars\",\n \"Slug can only contain lowercase letters, numbers, and hyphens\",\n );\n }\n\n if (!formData.shortDescription.trim()) {\n newErrors.shortDescription = tr(\n \"devportal.shortDescriptionRequired\",\n \"Short description is required\",\n );\n } else if (formData.shortDescription.length > 200) {\n newErrors.shortDescription = tr(\n \"devportal.shortDescriptionMaxLength\",\n \"Short description must be less than 200 characters\",\n );\n }\n\n if (!formData.appType) {\n newErrors.appType = tr(\n \"devportal.appTypeRequired\",\n \"Application type is required\",\n );\n }\n\n if (!formData.category) {\n newErrors.category = tr(\n \"devportal.categoryRequired\",\n \"Category is required\",\n );\n }\n\n setErrors(newErrors);\n return Object.keys(newErrors).length === 0;\n };\n\n const handleSubmit = async (e: React.FormEvent) => {\n e.preventDefault();\n\n if (!validateForm() || !app) {\n return;\n }\n\n setIsSubmitting(true);\n\n try {\n await updateApplication({\n variables: {\n id: app.id,\n input: {\n name: formData.name,\n shortDescription: formData.shortDescription,\n description: formData.description,\n appType: formData.appType,\n visibility: formData.visibility,\n category: formData.category,\n tags: formData.tags,\n keywords: formData.keywords,\n websiteUrl: formData.websiteUrl || null,\n documentationUrl: formData.documentationUrl || null,\n supportUrl: formData.supportUrl || null,\n privacyPolicyUrl: formData.privacyPolicyUrl || null,\n termsOfServiceUrl: formData.termsOfServiceUrl || null,\n githubUrl: formData.githubUrl || null,\n oauthAuthUrl: formData.oauthAuthUrl || null,\n oauthRevokeUrl: formData.oauthRevokeUrl || null,\n compatibleProducts,\n },\n },\n });\n setHasChanges(false);\n } catch (err) {\n console.error(\"Failed to update application:\", err);\n } finally {\n setIsSubmitting(false);\n }\n };\n\n const handleDelete = async () => {\n if (!app) return;\n void nativeImpact(\"medium\");\n try {\n await deleteApplication({\n variables: { id: app.id },\n });\n void nativeNotify(\"success\");\n handleNavigate(\"/apps\");\n } catch (err) {\n void nativeNotify(\"error\");\n console.error(\"Failed to delete application:\", err);\n }\n };\n\n const handleDeprecate = async () => {\n if (!app) return;\n try {\n // Deprecate is modelled as a status transition via update. The backend\n // treats a visibility change to PRIVATE + status mutation or a dedicated\n // deprecation endpoint. Here we use submitApplication with a status note\n // as the deprecate action since there is no separate `deprecateApplication`\n // mutation. If a dedicated mutation is added later, swap it in here.\n await updateApplication({\n variables: {\n id: app.id,\n input: {\n visibility: \"PRIVATE\",\n },\n },\n });\n setShowDeprecateDialog(false);\n } catch (err) {\n console.error(\"Failed to deprecate application:\", err);\n }\n };\n\n const handleDeactivate = async () => {\n if (!app) return;\n try {\n await deactivateApp({\n variables: { id: app.id },\n });\n setShowDeactivateDialog(false);\n handleNavigate(\"/apps\");\n } catch (err) {\n console.error(\"Failed to deactivate application:\", err);\n }\n };\n\n // ---------------------------------------------------------------------------\n // Loading / Error / Not-found states\n // ---------------------------------------------------------------------------\n if (loading) {\n return (\n <LoadingState\n message={tr(\"devportal.loadingApplication\", \"Loading application...\")}\n />\n );\n }\n\n if (queryError) {\n return (\n <PageLayout\n title={tr(\"devportal.error\", \"Error\")}\n backLink={`${basePath}/apps`}\n backLabel={tr(\"devportal.backToApplications\", \"Back to Applications\")}\n >\n <div className=\"flex flex-col items-center justify-center py-12 text-center\">\n <AlertCircle size={48} className=\"text-status-error-text mb-4\" />\n <h3 className=\"text-lg font-semibold mb-2\">\n {tr(\n \"devportal.failedToLoadApplication\",\n \"Failed to load application\",\n )}\n </h3>\n <p className=\"text-sm text-text-secondary\">{queryError.message}</p>\n </div>\n </PageLayout>\n );\n }\n\n if (!app) {\n return (\n <PageLayout\n title={tr(\"devportal.notFound\", \"Not Found\")}\n backLink={`${basePath}/apps`}\n backLabel={tr(\"devportal.backToApplications\", \"Back to Applications\")}\n >\n <EmptyState\n illustration=\"empty-generic\"\n icon={<AppWindow size={48} />}\n title={tr(\"devportal.applicationNotFound\", \"Application not found\")}\n description={tr(\n \"devportal.applicationNotFoundDescription\",\n \"The application you're looking for doesn't exist or you don't have access to it.\",\n )}\n />\n </PageLayout>\n );\n }\n\n // ---------------------------------------------------------------------------\n // Derived flags\n // ---------------------------------------------------------------------------\n const canSubmitForReview =\n app.status === \"DRAFT\" || app.status === \"REJECTED\";\n const canDeprecate = app.status === \"PUBLISHED\";\n const canDeactivate = app.status === \"ACTIVE\" || app.status === \"PUBLISHED\";\n\n // ---------------------------------------------------------------------------\n // Render\n // ---------------------------------------------------------------------------\n return (\n <PermissionGuard authOnly>\n <PageLayout\n title={`${tr(\"devportal.editAppTitlePrefix\", \"Edit:\")} ${app.name}`}\n description={tr(\n \"devportal.editAppDescription\",\n \"Update your application settings\",\n )}\n purpose={tr(\n \"devportal.editAppPurpose\",\n \"Change how this app appears and behaves — its name, description, classification, links, and lifecycle settings. Use the danger zone at the bottom to deprecate or delete it when it is retired.\",\n )}\n backLink={`${basePath}/apps/${app.id}`}\n backLabel={tr(\"devportal.backToApplication\", \"Back to Application\")}\n actions={\n <div className=\"flex items-center gap-2\">\n <StatusBadge status={app.status} type=\"app\" />\n </div>\n }\n >\n <form onSubmit={handleSubmit} className=\"space-y-8 max-w-3xl\">\n {/* Status banner for published apps */}\n {app.status === \"PUBLISHED\" && (\n <div className=\"rounded-lg border border-border-subtle bg-status-warning-bg-subtle p-4 flex gap-3\">\n <AlertTriangle\n size={20}\n className=\"text-status-warning-text flex-shrink-0 mt-0.5\"\n />\n <div className=\"text-sm text-status-warning-text\">\n <p className=\"font-medium\">\n {tr(\n \"devportal.appIsPublished\",\n \"This application is published\",\n )}\n </p>\n <p className=\"mt-1 text-status-warning-text\">\n {tr(\n \"devportal.publishedAppChangesWarning\",\n \"Changes to published apps may require re-review. Major changes will put the app back into review status.\",\n )}\n </p>\n </div>\n </div>\n )}\n\n {/* Basic Information */}\n <PageSection\n title={tr(\"devportal.basicInformation\", \"Basic Information\")}\n description={tr(\n \"devportal.basicInformationDescription\",\n \"Core details about your application\",\n )}\n >\n <div className=\"space-y-4\">\n <InputField\n label={tr(\"devportal.applicationName\", \"Application Name\")}\n value={formData.name}\n onChange={(e) => handleChange(\"name\", e.target.value)}\n placeholder={tr(\n \"devportal.applicationNamePlaceholder\",\n \"My Awesome App\",\n )}\n required\n error={errors.name}\n />\n\n <InputField\n label={tr(\"devportal.slug\", \"Slug\")}\n value={formData.slug}\n onChange={(e) =>\n handleChange(\"slug\", e.target.value.toLowerCase())\n }\n placeholder={tr(\"devportal.slugPlaceholder\", \"my-awesome-app\")}\n required\n error={errors.slug}\n hint={tr(\n \"devportal.slugChangeWarning\",\n \"Changing the slug may break existing integrations\",\n )}\n />\n\n <TextareaField\n label={tr(\"devportal.shortDescription\", \"Short Description\")}\n value={formData.shortDescription}\n onChange={(e) =>\n handleChange(\"shortDescription\", e.target.value)\n }\n placeholder={tr(\n \"devportal.shortDescriptionPlaceholder\",\n \"A brief description of what your app does\",\n )}\n required\n error={errors.shortDescription}\n hint={`${formData.shortDescription.length}/200 ${tr(\"devportal.characters\", \"characters\")}`}\n rows={2}\n />\n\n <MarkdownEditor\n label={tr(\"devportal.fullDescription\", \"Full Description\")}\n value={formData.description}\n onChange={(value) => handleChange(\"description\", value)}\n placeholder={tr(\n \"devportal.fullDescriptionPlaceholder\",\n \"Detailed description of your application, features, and use cases...\",\n )}\n rows={6}\n hint={tr(\n \"devportal.markdownSupported\",\n \"Markdown formatting is supported\",\n )}\n />\n </div>\n </PageSection>\n\n {/* Classification */}\n <PageSection\n title={tr(\"devportal.classification\", \"Classification\")}\n description={tr(\n \"devportal.classificationDescription\",\n \"Categorize your application\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <SelectField\n label={tr(\"devportal.applicationType\", \"Application Type\")}\n value={formData.appType}\n onChange={(e) => handleChange(\"appType\", e.target.value)}\n options={APP_TYPE_OPTIONS}\n required\n error={errors.appType}\n />\n\n <SelectField\n label={tr(\"devportal.category\", \"Category\")}\n value={formData.category}\n onChange={(e) => handleChange(\"category\", e.target.value)}\n options={appCategoryOptionsFor(app?.category)}\n required\n error={errors.category}\n />\n\n <SelectField\n label={tr(\"devportal.visibility\", \"Visibility\")}\n value={formData.visibility}\n onChange={(e) =>\n handleChange(\"visibility\", e.target.value as AppVisibility)\n }\n options={\n app?.appType === \"WORKFLOW\"\n ? WORKFLOW_VISIBILITY_OPTIONS\n : BASE_VISIBILITY_OPTIONS\n }\n hint={\n formData.visibility === \"PUBLIC\"\n ? tr(\n \"devportal.visibilityHintPublic\",\n \"Listed in the marketplace after review approval — anyone can discover and install it\",\n )\n : formData.visibility === \"UNLISTED\"\n ? tr(\n \"devportal.visibilityHintUnlisted\",\n \"Not in the store, but accessible via a direct link. You can still submit for marketplace review\",\n )\n : formData.visibility === \"INTERNAL\"\n ? tr(\n \"devportal.visibilityHintInternal\",\n \"Visible to all members of your developer organization — no one outside can access it\",\n )\n : tr(\n \"devportal.visibilityHintPrivate\",\n \"Only you (the creator) can see this — other org members cannot access it\",\n )\n }\n />\n </div>\n\n <TagInput\n label={tr(\"devportal.tags\", \"Tags\")}\n value={formData.tags}\n onChange={(tags) => handleChange(\"tags\", tags)}\n placeholder={tr(\n \"devportal.addTagsPlaceholder\",\n \"Add tags (press Enter)\",\n )}\n />\n\n <TagInput\n label={tr(\"devportal.keywords\", \"Keywords\")}\n value={formData.keywords}\n onChange={(keywords) => handleChange(\"keywords\", keywords)}\n placeholder={tr(\n \"devportal.addKeywordsPlaceholder\",\n \"Add keywords (press Enter)\",\n )}\n />\n\n {/* Compatible Products — NODE and WORKFLOW only */}\n {(formData.appType === \"NODE\" ||\n formData.appType === \"WORKFLOW\") && (\n <div className=\"space-y-2\">\n <label className=\"block text-sm font-medium text-text-primary\">\n Compatible Products\n </label>\n <p className=\"text-xs text-text-secondary\">\n Select which products this {formData.appType.toLowerCase()}{\" \"}\n works with. Users will see it in those products&apos; node\n stores.\n </p>\n <MultiSelectCombobox\n options={platformProducts.map((p) => ({\n value: p.slug,\n label: p.name,\n }))}\n selected={compatibleProducts}\n onChange={(next) => {\n setCompatibleProducts(next);\n setHasChanges(true);\n }}\n placeholder=\"Select products…\"\n searchPlaceholder=\"Search products…\"\n />\n </div>\n )}\n </PageSection>\n\n {/* URLs */}\n <PageSection\n title={tr(\"devportal.links\", \"Links\")}\n description={tr(\n \"devportal.linksDescription\",\n \"External resources for your application\",\n )}\n >\n <div className=\"grid gap-4 sm:grid-cols-2\">\n <InputField\n label={tr(\"devportal.websiteUrl\", \"Website URL\")}\n type=\"url\"\n value={formData.websiteUrl}\n onChange={(e) => handleChange(\"websiteUrl\", e.target.value)}\n placeholder={tr(\n \"devportal.websiteUrlPlaceholder\",\n \"https://example.com\",\n )}\n />\n\n <InputField\n label={tr(\"devportal.documentationUrl\", \"Documentation URL\")}\n type=\"url\"\n value={formData.documentationUrl}\n onChange={(e) =>\n handleChange(\"documentationUrl\", e.target.value)\n }\n placeholder={tr(\n \"devportal.documentationUrlPlaceholder\",\n \"https://docs.example.com\",\n )}\n />\n\n <InputField\n label={tr(\"devportal.supportUrl\", \"Support URL\")}\n type=\"url\"\n value={formData.supportUrl}\n onChange={(e) => handleChange(\"supportUrl\", e.target.value)}\n placeholder={tr(\n \"devportal.supportUrlPlaceholder\",\n \"https://support.example.com\",\n )}\n />\n\n <InputField\n label={tr(\"devportal.githubUrl\", \"GitHub URL\")}\n type=\"url\"\n value={formData.githubUrl}\n onChange={(e) => handleChange(\"githubUrl\", e.target.value)}\n placeholder={tr(\n \"devportal.githubUrlPlaceholder\",\n \"https://github.com/org/repo\",\n )}\n />\n\n <InputField\n label={tr(\"devportal.privacyPolicyUrl\", \"Privacy Policy URL\")}\n type=\"url\"\n value={formData.privacyPolicyUrl}\n onChange={(e) =>\n handleChange(\"privacyPolicyUrl\", e.target.value)\n }\n placeholder={tr(\n \"devportal.privacyPolicyUrlPlaceholder\",\n \"https://example.com/privacy\",\n )}\n />\n\n <InputField\n label={tr(\n \"devportal.termsOfServiceUrl\",\n \"Terms of Service URL\",\n )}\n type=\"url\"\n value={formData.termsOfServiceUrl}\n onChange={(e) =>\n handleChange(\"termsOfServiceUrl\", e.target.value)\n }\n placeholder={tr(\n \"devportal.termsOfServiceUrlPlaceholder\",\n \"https://example.com/terms\",\n )}\n />\n </div>\n </PageSection>\n\n {/* Integration Setup — INTEGRATION / API_INTEGRATION only */}\n {(formData.appType === \"INTEGRATION\" ||\n formData.appType === \"API_INTEGRATION\") && (\n <PageSection\n title=\"Integration Setup\"\n description=\"Configure the endpoints for your integration. After a user installs, we redirect them to your callback URL so your server can complete the connection.\"\n >\n <div className=\"space-y-4\">\n <InputField\n label=\"Post-install Callback URL\"\n type=\"url\"\n value={formData.oauthAuthUrl}\n onChange={(e) => handleChange(\"oauthAuthUrl\", e.target.value)}\n placeholder=\"https://yourapp.com/callback\"\n hint=\"Users land here after install with ?installation_id=xxx appended\"\n />\n <InputField\n label=\"Revoke URL\"\n type=\"url\"\n value={formData.oauthRevokeUrl}\n onChange={(e) =>\n handleChange(\"oauthRevokeUrl\", e.target.value)\n }\n placeholder=\"https://yourapp.com/oauth/revoke\"\n hint=\"We POST to this URL when a user uninstalls your integration\"\n />\n {/* Signing secret — read-only, rotate-only */}\n {(() => {\n const displaySecret =\n rotatedSecret ?? data?.application?.signingSecret;\n const masked = \"boff_sk_\" + \"•\".repeat(32);\n return (\n <div className=\"space-y-1.5\">\n <label className=\"block text-sm font-medium text-text-primary\">\n Signing Secret\n </label>\n <p className=\"text-xs text-text-secondary\">\n Use this secret to authenticate{\" \"}\n <code className=\"font-mono text-xs bg-bg-sunken px-1 py-0.5 rounded\">\n verifyInstallation\n </code>{\" \"}\n calls from your integration server. Store it securely —\n it is only shown immediately after generation or\n rotation.\n </p>\n {displaySecret ? (\n <div className=\"flex items-center gap-2\">\n <div className=\"flex-1 flex items-center gap-0 rounded-md border border-border-default bg-bg-sunken overflow-hidden\">\n <code className=\"flex-1 px-3 py-2 text-xs font-mono text-text-primary truncate\">\n {showSecret ? displaySecret : masked}\n </code>\n <button\n type=\"button\"\n onClick={() => setShowSecret((v) => !v)}\n className=\"px-2 py-2 text-text-secondary hover:text-text-primary border-l border-border-default\"\n title={showSecret ? \"Hide\" : \"Reveal\"}\n >\n {showSecret ? (\n <EyeOff size={14} />\n ) : (\n <Eye size={14} />\n )}\n </button>\n <button\n type=\"button\"\n onClick={() => handleCopySecret(displaySecret)}\n className=\"px-2 py-2 text-text-secondary hover:text-text-primary border-l border-border-default\"\n title=\"Copy to clipboard\"\n >\n {copiedSecret ? (\n <Check size={14} className=\"text-green-500\" />\n ) : (\n <Copy size={14} />\n )}\n </button>\n </div>\n <button\n type=\"button\"\n onClick={handleRotateSecret}\n disabled={isRotating}\n className=\"flex items-center gap-1.5 px-3 py-2 text-xs rounded-md border border-border-default bg-bg-default text-text-primary hover:bg-bg-subtle disabled:opacity-50\"\n title=\"Rotate signing secret\"\n >\n <RefreshCw\n size={12}\n className={isRotating ? \"animate-spin\" : \"\"}\n />\n Rotate\n </button>\n </div>\n ) : (\n <button\n type=\"button\"\n onClick={handleRotateSecret}\n disabled={isRotating}\n className=\"flex items-center gap-1.5 px-3 py-2 text-xs rounded-md border border-border-default bg-bg-default text-text-primary hover:bg-bg-subtle disabled:opacity-50\"\n >\n <RefreshCw\n size={12}\n className={isRotating ? \"animate-spin\" : \"\"}\n />\n Generate Signing Secret\n </button>\n )}\n {rotatedSecret && (\n <p className=\"text-xs text-amber-600 dark:text-amber-400\">\n New secret generated. Copy it now — the old secret is\n already invalidated.\n </p>\n )}\n </div>\n );\n })()}\n </div>\n </PageSection>\n )}\n\n {/* Settings */}\n <PageSection\n title={tr(\"devportal.settings\", \"Settings\")}\n description={tr(\n \"devportal.settingsDescription\",\n \"Additional configuration options\",\n )}\n >\n <div className=\"space-y-4\">\n <CheckboxField\n label={tr(\n \"devportal.requireWorkspaceAdminApproval\",\n \"Require workspace admin approval\",\n )}\n description={tr(\n \"devportal.requireWorkspaceAdminApprovalDescription\",\n \"When enabled, workspace admins must approve installations before users can access this app\",\n )}\n checked={formData.requiresApproval}\n onChange={(e) =>\n handleChange(\"requiresApproval\", e.target.checked)\n }\n />\n </div>\n </PageSection>\n\n {/* Submission readiness checklist */}\n {canSubmitForReview && (\n <div className=\"rounded-lg border border-border-subtle bg-bg-sunken p-4 space-y-2\">\n <p className=\"text-sm font-medium text-text-primary flex items-center gap-2\">\n <Send size={14} />\n {tr(\"devportal.submissionChecklist\", \"Submission Checklist\")}\n </p>\n {[\n {\n label: tr(\"devportal.checkName\", \"Name set\"),\n ok: !!formData.name.trim(),\n },\n {\n label: tr(\n \"devportal.checkShortDesc\",\n \"Short description set\",\n ),\n ok: !!formData.shortDescription.trim(),\n },\n {\n label: tr(\n \"devportal.checkFullDesc\",\n \"Full description added\",\n ),\n ok: !!formData.description.trim(),\n },\n {\n label: tr(\"devportal.checkCategory\", \"Category selected\"),\n ok: !!formData.category,\n },\n {\n label: tr(\n \"devportal.checkVisibility\",\n \"Visibility set to Public or Unlisted\",\n ),\n ok:\n !!formData.visibility && formData.visibility !== \"PRIVATE\",\n },\n {\n label: tr(\"devportal.checkSaved\", \"All changes saved\"),\n ok: !hasChanges,\n },\n ...(app?.appType === \"NODE\" || app?.appType === \"WORKFLOW\"\n ? [\n {\n label: tr(\n \"devportal.checkVersion\",\n \"At least one version uploaded\",\n ),\n ok: (data?.application?.versions?.totalCount ?? 0) > 0,\n },\n ]\n : []),\n ].map((item) => (\n <div\n key={item.label}\n className=\"flex items-center gap-2 text-sm\"\n >\n {item.ok ? (\n <span className=\"text-status-success-text\">✓</span>\n ) : (\n <span className=\"text-status-error-text\">✗</span>\n )}\n <span\n className={\n item.ok\n ? \"text-text-secondary line-through\"\n : \"text-text-primary\"\n }\n >\n {item.label}\n </span>\n </div>\n ))}\n </div>\n )}\n\n {/* Actions */}\n <div className=\"flex flex-col gap-4 border-t pt-6\">\n {/* Primary actions */}\n <div className=\"flex items-center justify-end\">\n <button\n type=\"submit\"\n disabled={isSubmitting || !hasChanges || !canUpdate}\n aria-disabled={!canUpdate}\n className=\"inline-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 {isSubmitting ? (\n <>\n <span className=\"h-4 w-4 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n {tr(\"devportal.saving\", \"Saving...\")}\n </>\n ) : (\n <>\n <Save size={16} />\n {tr(\"devportal.saveChanges\", \"Save Changes\")}\n </>\n )}\n </button>\n </div>\n\n {/* Danger zone */}\n <div className=\"rounded-lg border border-border-subtle bg-status-error-bg-subtle p-4\">\n <h3 className=\"text-sm font-medium text-status-error-text\">\n {tr(\"devportal.dangerZone\", \"Danger Zone\")}\n </h3>\n <p className=\"mt-1 text-sm text-status-error-text\">\n {tr(\n \"devportal.dangerZoneWarning\",\n \"These actions are irreversible. Please proceed with caution.\",\n )}\n </p>\n <div className=\"mt-4 flex gap-3\">\n {canDeprecate && (\n <button\n type=\"button\"\n onClick={() => setShowDeprecateDialog(true)}\n className=\"inline-flex items-center gap-2 rounded-md border border-accent-orange bg-bg-surface px-3 py-1.5 text-sm font-medium text-accent-orange hover:bg-accent-orange-subtle transition-colors\"\n >\n <Archive size={14} />\n {tr(\"devportal.deprecateApp\", \"Deprecate App\")}\n </button>\n )}\n {canDeactivate && (\n <button\n type=\"button\"\n onClick={() => setShowDeactivateDialog(true)}\n className=\"inline-flex items-center gap-2 rounded-md border border-accent-orange bg-bg-surface px-3 py-1.5 text-sm font-medium text-accent-orange hover:bg-accent-orange-subtle transition-colors\"\n >\n <Power size={14} />\n {tr(\"devportal.deactivateApp\", \"Deactivate App\")}\n </button>\n )}\n <button\n type=\"button\"\n onClick={() => setShowDeleteDialog(true)}\n disabled={!canDelete}\n aria-disabled={!canDelete}\n className=\"inline-flex items-center gap-2 rounded-md border border-status-error-bg bg-bg-surface px-3 py-1.5 text-sm font-medium text-status-error-text hover:bg-status-error-bg-subtle transition-colors disabled:opacity-50\"\n >\n <Trash2 size={14} />\n {tr(\"devportal.deleteApp\", \"Delete App\")}\n </button>\n </div>\n </div>\n </div>\n </form>\n\n {/* Delete confirmation dialog */}\n <ConfirmDialog\n open={showDeleteDialog}\n onOpenChange={setShowDeleteDialog}\n title={tr(\"devportal.deleteApplication\", \"Delete Application\")}\n description={tr(\n \"devportal.deleteApplicationConfirm\",\n `Are you sure you want to delete \"${app.name}\"? This action cannot be undone. All OAuth clients, API keys, webhooks, and analytics data will be permanently deleted.`,\n )}\n confirmLabel={tr(\"devportal.deleteApplication\", \"Delete Application\")}\n variant=\"destructive\"\n onConfirm={handleDelete}\n />\n\n {/* Deprecate confirmation dialog */}\n <ConfirmDialog\n open={showDeprecateDialog}\n onOpenChange={setShowDeprecateDialog}\n title={tr(\"devportal.deprecateApplication\", \"Deprecate Application\")}\n description={tr(\n \"devportal.deprecateApplicationConfirm\",\n `Are you sure you want to deprecate \"${app.name}\"? Existing users will still be able to use the app, but it will no longer be visible in the marketplace and new installations will be disabled.`,\n )}\n confirmLabel={tr(\n \"devportal.deprecateApplication\",\n \"Deprecate Application\",\n )}\n variant=\"warning\"\n onConfirm={handleDeprecate}\n />\n\n {/* Deactivate confirmation dialog */}\n <ConfirmDialog\n open={showDeactivateDialog}\n onOpenChange={setShowDeactivateDialog}\n title={tr(\n \"devportal.deactivateApplication\",\n \"Deactivate Application\",\n )}\n description={tr(\n \"devportal.deactivateApplicationConfirm\",\n `Are you sure you want to deactivate \"${app.name}\"? This will revoke all active tokens and disable the app from the auth-svc layer. The app will no longer be able to authenticate or act on behalf of users.`,\n )}\n confirmLabel={tr(\n \"devportal.deactivateApplication\",\n \"Deactivate Application\",\n )}\n variant=\"destructive\"\n onConfirm={handleDeactivate}\n />\n </PageLayout>\n </PermissionGuard>\n );\n};\n"],"mappings":"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"}
@@ -1,4 +1,2 @@
1
1
  import { FC } from 'react';
2
-
3
2
  export declare const EditPhysicalItemPage: FC;
4
- //# sourceMappingURL=EditPhysicalItemPage.d.ts.map