@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":"ManifestViewer.js","names":[],"sources":["../../../src/devportal/components/ManifestViewer.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { FileJson, X } from \"lucide-react\";\n\nexport interface ManifestViewerProps {\n manifest: Record<string, unknown>;\n tr: (key: string, fallback: string) => string;\n}\n\n/**\n * Read-only modal for viewing a version's manifest.json, so developers and\n * reviewers can validate what was uploaded without leaving the page.\n */\nexport const ManifestViewer: FC<ManifestViewerProps> = ({ manifest, tr }) => {\n const [open, setOpen] = useState(false);\n const dialogRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!open) return undefined;\n\n const originalOverflow = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n window.requestAnimationFrame(() => dialogRef.current?.focus());\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n }\n };\n document.addEventListener(\"keydown\", onKeyDown);\n\n return () => {\n document.body.style.overflow = originalOverflow;\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [open]);\n\n return (\n <>\n <button\n type=\"button\"\n onClick={() => setOpen(true)}\n className=\"inline-flex items-center gap-1.5 text-xs text-text-secondary hover:text-text-primary\"\n >\n <FileJson size={13} />\n {tr(\"devportal.viewManifest\", \"View manifest.json\")}\n </button>\n {open && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <button\n type=\"button\"\n aria-label=\"Close dialog backdrop\"\n className=\"absolute inset-0 bg-bg-overlay\"\n onClick={() => setOpen(false)}\n />\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={tr(\"devportal.manifestJson\", \"manifest.json\")}\n tabIndex={-1}\n className=\"relative z-10 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-lg bg-bg-surface p-6 shadow-xl focus:outline-none\"\n >\n <div className=\"flex items-center justify-between gap-4\">\n <h3 className=\"text-lg font-semibold\">\n {tr(\"devportal.manifestJson\", \"manifest.json\")}\n </h3>\n <button\n type=\"button\"\n onClick={() => setOpen(false)}\n aria-label={tr(\"devportal.close\", \"Close\")}\n className=\"rounded-md p-1 text-text-secondary hover:bg-bg-sunken hover:text-text-primary\"\n >\n <X size={18} />\n </button>\n </div>\n <pre className=\"mt-4 flex-1 overflow-auto rounded-md bg-bg-sunken p-3 text-xs font-mono whitespace-pre-wrap break-all\">\n {JSON.stringify(manifest, null, 2)}\n </pre>\n </div>\n </div>\n )}\n </>\n );\n};\n"],"mappings":";;;;AAaA,IAAa,KAA2C,EAAE,aAAU,YAAS;CAC3E,IAAM,CAAC,GAAM,KAAW,EAAS,GAAM,EACjC,IAAY,EAA8B,KAAK;AAuBrD,QArBA,QAAgB;AACd,MAAI,CAAC,EAAM;EAEX,IAAM,IAAmB,SAAS,KAAK,MAAM;AAE7C,EADA,SAAS,KAAK,MAAM,WAAW,UAC/B,OAAO,4BAA4B,EAAU,SAAS,OAAO,CAAC;EAE9D,IAAM,KAAa,MAAyB;AAC1C,GAAI,EAAM,QAAQ,aAChB,EAAM,gBAAgB,EACtB,EAAQ,GAAM;;AAKlB,SAFA,SAAS,iBAAiB,WAAW,EAAU,QAElC;AAEX,GADA,SAAS,KAAK,MAAM,WAAW,GAC/B,SAAS,oBAAoB,WAAW,EAAU;;IAEnD,CAAC,EAAK,CAAC,EAGR,kBAAA,GAAA,EAAA,UAAA,CACE,kBAAC,UAAD;EACE,MAAK;EACL,eAAe,EAAQ,GAAK;EAC5B,WAAU;YAHZ,CAKE,kBAAC,GAAD,EAAU,MAAM,IAAM,CAAA,EACrB,EAAG,0BAA0B,qBAAqB,CAC5C;KACR,KACC,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,UAAD;GACE,MAAK;GACL,cAAW;GACX,WAAU;GACV,eAAe,EAAQ,GAAM;GAC7B,CAAA,EACF,kBAAC,OAAD;GACE,KAAK;GACL,MAAK;GACL,cAAW;GACX,cAAY,EAAG,0BAA0B,gBAAgB;GACzD,UAAU;GACV,WAAU;aANZ,CAQE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,MAAD;KAAI,WAAU;eACX,EAAG,0BAA0B,gBAAgB;KAC3C,CAAA,EACL,kBAAC,UAAD;KACE,MAAK;KACL,eAAe,EAAQ,GAAM;KAC7B,cAAY,EAAG,mBAAmB,QAAQ;KAC1C,WAAU;eAEV,kBAAC,GAAD,EAAG,MAAM,IAAM,CAAA;KACR,CAAA,CACL;OACN,kBAAC,OAAD;IAAK,WAAU;cACZ,KAAK,UAAU,GAAU,MAAM,EAAE;IAC9B,CAAA,CACF;KACF;IAEP,EAAA,CAAA"}
1
+ {"version":3,"file":"ManifestViewer.js","names":["_Fragment","ManifestViewer","open","setOpen","useState","dialogRef","useRef","useEffect","originalOverflow","onKeyDown","event","Fragment","FileJson","tr","X","manifest"],"sources":["../../../src/devportal/components/ManifestViewer.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { FileJson, X } from \"lucide-react\";\n\nexport interface ManifestViewerProps {\n manifest: Record<string, unknown>;\n tr: (key: string, fallback: string) => string;\n}\n\n/**\n * Read-only modal for viewing a version's manifest.json, so developers and\n * reviewers can validate what was uploaded without leaving the page.\n */\nexport const ManifestViewer: FC<ManifestViewerProps> = ({ manifest, tr }) => {\n const [open, setOpen] = useState(false);\n const dialogRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n if (!open) return undefined;\n\n const originalOverflow = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n window.requestAnimationFrame(() => dialogRef.current?.focus());\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n }\n };\n document.addEventListener(\"keydown\", onKeyDown);\n\n return () => {\n document.body.style.overflow = originalOverflow;\n document.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [open]);\n\n return (\n <>\n <button\n type=\"button\"\n onClick={() => setOpen(true)}\n className=\"inline-flex items-center gap-1.5 text-xs text-text-secondary hover:text-text-primary\"\n >\n <FileJson size={13} />\n {tr(\"devportal.viewManifest\", \"View manifest.json\")}\n </button>\n {open && (\n <div className=\"fixed inset-0 z-50 flex items-center justify-center p-4\">\n <button\n type=\"button\"\n aria-label=\"Close dialog backdrop\"\n className=\"absolute inset-0 bg-bg-overlay\"\n onClick={() => setOpen(false)}\n />\n <div\n ref={dialogRef}\n role=\"dialog\"\n aria-modal=\"true\"\n aria-label={tr(\"devportal.manifestJson\", \"manifest.json\")}\n tabIndex={-1}\n className=\"relative z-10 flex max-h-[80vh] w-full max-w-2xl flex-col rounded-lg bg-bg-surface p-6 shadow-xl focus:outline-none\"\n >\n <div className=\"flex items-center justify-between gap-4\">\n <h3 className=\"text-lg font-semibold\">\n {tr(\"devportal.manifestJson\", \"manifest.json\")}\n </h3>\n <button\n type=\"button\"\n onClick={() => setOpen(false)}\n aria-label={tr(\"devportal.close\", \"Close\")}\n className=\"rounded-md p-1 text-text-secondary hover:bg-bg-sunken hover:text-text-primary\"\n >\n <X size={18} />\n </button>\n </div>\n <pre className=\"mt-4 flex-1 overflow-auto rounded-md bg-bg-sunken p-3 text-xs font-mono whitespace-pre-wrap break-all\">\n {JSON.stringify(manifest, null, 2)}\n </pre>\n </div>\n </div>\n )}\n </>\n );\n};\n"],"mappings":";;;;AAaA,IAAaC,KAA2C,EAAE,aAAU,YAAS;CAC3E,IAAM,CAACC,GAAMC,KAAWC,EAAS,EAAK,GAChCC,IAAYC,EAA8B,IAAI;CAuBpD,OArBAC,QAAgB;EACd,IAAI,CAACL,GAAM;EAEX,IAAMM,IAAmB,SAAS,KAAK,MAAM;EAE7C,AADA,SAAS,KAAK,MAAM,WAAW,UAC/B,OAAO,4BAA4BH,EAAU,SAAS,MAAM,CAAC;EAE7D,IAAMI,KAAa,MAAyB;GAC1C,AAAIC,EAAM,QAAQ,aAChBA,EAAM,eAAe,GACrBP,EAAQ,EAAK;EAEjB;EAGA,OAFA,SAAS,iBAAiB,WAAWM,CAAS,SAEjC;GAEX,AADA,SAAS,KAAK,MAAM,WAAWD,GAC/B,SAAS,oBAAoB,WAAWC,CAAS;EACnD;CACF,GAAG,CAACP,CAAI,CAAC,GAGP,kBAAAF,GAAA,EAAA,UAAA,CACE,kBAAC,UAAD;EACE,MAAK;EACL,eAAeG,EAAQ,EAAI;EAC3B,WAAU;EAHZ,UAAA,CAKE,kBAACS,GAAD,EAAU,MAAM,GAAK,CAAA,GACpBC,EAAG,0BAA0B,oBAAoB,CAC5C;CACP,CAAA,GAAAX,KACC,kBAAC,OAAD;EAAK,WAAU;EAAf,UAAA,CACE,kBAAC,UAAD;GACE,MAAK;GACL,cAAW;GACX,WAAU;GACV,eAAeC,EAAQ,EAAK;EAC7B,CAAA,GACD,kBAAC,OAAD;GACE,KAAKE;GACL,MAAK;GACL,cAAW;GACX,cAAYQ,EAAG,0BAA0B,eAAe;GACxD,UAAU;GACV,WAAU;GANZ,UAAA,CAQE,kBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,kBAAC,MAAD;KAAI,WAAU;KACX,UAAAA,EAAG,0BAA0B,eAAe;IAC3C,CAAA,GACJ,kBAAC,UAAD;KACE,MAAK;KACL,eAAeV,EAAQ,EAAK;KAC5B,cAAYU,EAAG,mBAAmB,OAAO;KACzC,WAAU;KAEV,UAAA,kBAACC,GAAD,EAAG,MAAM,GAAK,CAAA;IACR,CAAA,CACL;GACL,CAAA,GAAA,kBAAC,OAAD;IAAK,WAAU;IACZ,UAAA,KAAK,UAAUC,GAAU,MAAM,CAAC;GAC9B,CAAA,CACF;EACF,CAAA,CAAA;CAEP,CAAA,CAAA,EAAA,CAAA;AAEN"}
@@ -1,5 +1,4 @@
1
1
  import { FC, TextareaHTMLAttributes } from 'react';
2
-
3
2
  interface MarkdownEditorProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, "className" | "value" | "onChange"> {
4
3
  label: string;
5
4
  value: string;
@@ -21,4 +20,3 @@ interface MarkdownEditorProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaEl
21
20
  */
22
21
  export declare const MarkdownEditor: FC<MarkdownEditorProps>;
23
22
  export {};
24
- //# sourceMappingURL=MarkdownEditor.d.ts.map
@@ -3,7 +3,7 @@ import { useCallback as t, useRef as n, useState as r } from "react";
3
3
  import { Markdown as i } from "@burdenoff/fe-libs/shared/components";
4
4
  import { Bold as a, Code as o, Italic as s, Link as c, List as l } from "lucide-react";
5
5
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
6
- //#region src/devportal/components/MarkdownEditor.tsx
6
+ // src/devportal/components/MarkdownEditor.tsx
7
7
  var f = [
8
8
  {
9
9
  key: "bold",
@@ -130,7 +130,6 @@ var f = [
130
130
  ]
131
131
  });
132
132
  };
133
- //#endregion
134
133
  export { p as MarkdownEditor };
135
134
 
136
135
  //# sourceMappingURL=MarkdownEditor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MarkdownEditor.js","names":[],"sources":["../../../src/devportal/components/MarkdownEditor.tsx"],"sourcesContent":["import type { FC, TextareaHTMLAttributes, ReactNode } from \"react\";\nimport { useState, useRef, useCallback } from \"react\";\nimport { Bold, Italic, Link, Code, List } from \"lucide-react\";\nimport { Markdown } from \"@burdenoff/fe-libs/shared/components\";\nimport { cn } from \"../utils/cn\";\n\ninterface MarkdownEditorProps extends Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"className\" | \"value\" | \"onChange\"\n> {\n label: string;\n value: string;\n onChange: (value: string) => void;\n error?: string;\n hint?: string;\n required?: boolean;\n className?: string;\n rows?: number;\n showToolbar?: boolean;\n previewLabel?: string;\n writeLabel?: string;\n}\n\nconst TOOLBAR_BUTTONS: Array<{\n key: string;\n icon: typeof Bold;\n syntax: string;\n suffix?: string;\n label: string;\n}> = [\n { key: \"bold\", icon: Bold, syntax: \"**\", label: \"Bold\" },\n { key: \"italic\", icon: Italic, syntax: \"_\", label: \"Italic\" },\n { key: \"code\", icon: Code, syntax: \"`\", label: \"Inline code\" },\n { key: \"link\", icon: Link, syntax: \"[\", suffix: \"](url)\", label: \"Link\" },\n { key: \"list\", icon: List, syntax: \"- \", label: \"Bullet list\" },\n];\n\n/**\n * Reusable markdown editor with live preview and an optional formatting toolbar.\n *\n * The toolbar inserts markdown syntax around the current selection or at the\n * cursor position, mirroring common markdown editor behaviour.\n */\nexport const MarkdownEditor: FC<MarkdownEditorProps> = ({\n label,\n value,\n onChange,\n error,\n hint,\n required,\n className,\n rows = 6,\n showToolbar = true,\n previewLabel = \"Preview\",\n writeLabel = \"Write\",\n id,\n placeholder,\n ...props\n}) => {\n const fieldId = id || label.toLowerCase().replace(/\\s+/g, \"-\");\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const [activeTab, setActiveTab] = useState<\"write\" | \"preview\">(\"write\");\n\n const insertSyntax = useCallback(\n (syntax: string, suffix = syntax) => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n\n const start = textarea.selectionStart;\n const end = textarea.selectionEnd;\n const before = value.slice(0, start);\n const selected = value.slice(start, end);\n const after = value.slice(end);\n\n let nextValue: string;\n let nextStart: number;\n let nextEnd: number;\n\n if (selected.length > 0) {\n // Wrap selection with syntax.\n nextValue = `${before}${syntax}${selected}${suffix}${after}`;\n nextStart = start + syntax.length;\n nextEnd = end + syntax.length;\n } else {\n // Insert syntax pair at cursor and place cursor between them.\n nextValue = `${before}${syntax}${suffix}${after}`;\n nextStart = start + syntax.length;\n nextEnd = nextStart;\n }\n\n onChange(nextValue);\n\n // Restore selection after React re-render.\n requestAnimationFrame(() => {\n textarea.focus();\n textarea.setSelectionRange(nextStart, nextEnd);\n });\n },\n [onChange, value],\n );\n\n const handleList = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n\n const start = textarea.selectionStart;\n const end = textarea.selectionEnd;\n const selected = value.slice(start, end);\n\n let replacement: string;\n if (selected.length > 0) {\n replacement = selected\n .split(\"\\n\")\n .map((line) => (line.startsWith(\"- \") ? line : `- ${line}`))\n .join(\"\\n\");\n } else {\n replacement = \"- \";\n }\n\n const before = value.slice(0, start);\n const after = value.slice(end);\n const nextValue = `${before}${replacement}${after}`;\n onChange(nextValue);\n\n requestAnimationFrame(() => {\n textarea.focus();\n const cursorPos = start + replacement.length;\n textarea.setSelectionRange(cursorPos, cursorPos);\n });\n }, [onChange, value]);\n\n return (\n <div className={cn(\"space-y-2\", className)}>\n <label htmlFor={fieldId} className=\"block text-sm font-medium\">\n {label}\n {required && <span className=\"text-status-error-text ml-1\">*</span>}\n </label>\n\n {showToolbar && (\n <div className=\"flex items-center gap-1\">\n {TOOLBAR_BUTTONS.map((button) => (\n <button\n key={button.key}\n type=\"button\"\n onClick={() =>\n button.key === \"list\"\n ? handleList()\n : insertSyntax(button.syntax, button.suffix)\n }\n title={button.label}\n className=\"inline-flex items-center justify-center rounded-md p-1.5 text-text-secondary hover:bg-bg-sunken hover:text-text-primary focus:outline-none focus:ring-1 focus:ring-primary\"\n >\n <button.icon size={14} />\n </button>\n ))}\n </div>\n )}\n\n <div className=\"rounded-md border border-border-default overflow-hidden\">\n <div className=\"flex border-b border-border-default bg-bg-sunken\">\n <button\n type=\"button\"\n onClick={() => setActiveTab(\"write\")}\n className={cn(\n \"px-3 py-1.5 text-xs font-medium\",\n activeTab === \"write\"\n ? \"bg-bg-surface text-text-primary border-b-2 border-primary\"\n : \"text-text-secondary hover:text-text-primary\",\n )}\n >\n {writeLabel}\n </button>\n <button\n type=\"button\"\n onClick={() => setActiveTab(\"preview\")}\n className={cn(\n \"px-3 py-1.5 text-xs font-medium\",\n activeTab === \"preview\"\n ? \"bg-bg-surface text-text-primary border-b-2 border-primary\"\n : \"text-text-secondary hover:text-text-primary\",\n )}\n >\n {previewLabel}\n </button>\n </div>\n\n <div className={cn(activeTab !== \"write\" && \"hidden\")}>\n <textarea\n ref={textareaRef}\n id={fieldId}\n rows={rows}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder={placeholder}\n className={cn(\n \"w-full bg-bg-surface px-3 py-2 text-sm resize-y\",\n \"focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent\",\n \"placeholder:text-text-secondary\",\n )}\n {...props}\n />\n </div>\n\n {activeTab === \"preview\" && (\n <div className=\"min-h-[theme(spacing.24)] bg-bg-surface px-3 py-2\">\n {value.trim() ? (\n <Markdown className=\"text-sm text-text-primary\">{value}</Markdown>\n ) : (\n <p className=\"text-sm text-text-secondary italic\">\n {placeholder || \"Nothing to preview yet.\"}\n </p>\n )}\n </div>\n )}\n </div>\n\n {hint && !error && <p className=\"text-xs text-text-secondary\">{hint}</p>}\n {error && <p className=\"text-xs text-status-error-text\">{error}</p>}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"MarkdownEditor.js","names":["TOOLBAR_BUTTONS","Bold","Italic","Code","Link","List","MarkdownEditor","props","fieldId","id","label","textareaRef","useRef","activeTab","setActiveTab","useState","insertSyntax","useCallback","syntax","textarea","start","end","before","value","selected","after","nextValue","nextStart","nextEnd","suffix","onChange","handleList","replacement","line","cursorPos","cn","className","required","showToolbar","button","writeLabel","previewLabel","Markdown","placeholder","hint","error"],"sources":["../../../src/devportal/components/MarkdownEditor.tsx"],"sourcesContent":["import type { FC, TextareaHTMLAttributes, ReactNode } from \"react\";\nimport { useState, useRef, useCallback } from \"react\";\nimport { Bold, Italic, Link, Code, List } from \"lucide-react\";\nimport { Markdown } from \"@burdenoff/fe-libs/shared/components\";\nimport { cn } from \"../utils/cn\";\n\ninterface MarkdownEditorProps extends Omit<\n TextareaHTMLAttributes<HTMLTextAreaElement>,\n \"className\" | \"value\" | \"onChange\"\n> {\n label: string;\n value: string;\n onChange: (value: string) => void;\n error?: string;\n hint?: string;\n required?: boolean;\n className?: string;\n rows?: number;\n showToolbar?: boolean;\n previewLabel?: string;\n writeLabel?: string;\n}\n\nconst TOOLBAR_BUTTONS: Array<{\n key: string;\n icon: typeof Bold;\n syntax: string;\n suffix?: string;\n label: string;\n}> = [\n { key: \"bold\", icon: Bold, syntax: \"**\", label: \"Bold\" },\n { key: \"italic\", icon: Italic, syntax: \"_\", label: \"Italic\" },\n { key: \"code\", icon: Code, syntax: \"`\", label: \"Inline code\" },\n { key: \"link\", icon: Link, syntax: \"[\", suffix: \"](url)\", label: \"Link\" },\n { key: \"list\", icon: List, syntax: \"- \", label: \"Bullet list\" },\n];\n\n/**\n * Reusable markdown editor with live preview and an optional formatting toolbar.\n *\n * The toolbar inserts markdown syntax around the current selection or at the\n * cursor position, mirroring common markdown editor behaviour.\n */\nexport const MarkdownEditor: FC<MarkdownEditorProps> = ({\n label,\n value,\n onChange,\n error,\n hint,\n required,\n className,\n rows = 6,\n showToolbar = true,\n previewLabel = \"Preview\",\n writeLabel = \"Write\",\n id,\n placeholder,\n ...props\n}) => {\n const fieldId = id || label.toLowerCase().replace(/\\s+/g, \"-\");\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n const [activeTab, setActiveTab] = useState<\"write\" | \"preview\">(\"write\");\n\n const insertSyntax = useCallback(\n (syntax: string, suffix = syntax) => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n\n const start = textarea.selectionStart;\n const end = textarea.selectionEnd;\n const before = value.slice(0, start);\n const selected = value.slice(start, end);\n const after = value.slice(end);\n\n let nextValue: string;\n let nextStart: number;\n let nextEnd: number;\n\n if (selected.length > 0) {\n // Wrap selection with syntax.\n nextValue = `${before}${syntax}${selected}${suffix}${after}`;\n nextStart = start + syntax.length;\n nextEnd = end + syntax.length;\n } else {\n // Insert syntax pair at cursor and place cursor between them.\n nextValue = `${before}${syntax}${suffix}${after}`;\n nextStart = start + syntax.length;\n nextEnd = nextStart;\n }\n\n onChange(nextValue);\n\n // Restore selection after React re-render.\n requestAnimationFrame(() => {\n textarea.focus();\n textarea.setSelectionRange(nextStart, nextEnd);\n });\n },\n [onChange, value],\n );\n\n const handleList = useCallback(() => {\n const textarea = textareaRef.current;\n if (!textarea) return;\n\n const start = textarea.selectionStart;\n const end = textarea.selectionEnd;\n const selected = value.slice(start, end);\n\n let replacement: string;\n if (selected.length > 0) {\n replacement = selected\n .split(\"\\n\")\n .map((line) => (line.startsWith(\"- \") ? line : `- ${line}`))\n .join(\"\\n\");\n } else {\n replacement = \"- \";\n }\n\n const before = value.slice(0, start);\n const after = value.slice(end);\n const nextValue = `${before}${replacement}${after}`;\n onChange(nextValue);\n\n requestAnimationFrame(() => {\n textarea.focus();\n const cursorPos = start + replacement.length;\n textarea.setSelectionRange(cursorPos, cursorPos);\n });\n }, [onChange, value]);\n\n return (\n <div className={cn(\"space-y-2\", className)}>\n <label htmlFor={fieldId} className=\"block text-sm font-medium\">\n {label}\n {required && <span className=\"text-status-error-text ml-1\">*</span>}\n </label>\n\n {showToolbar && (\n <div className=\"flex items-center gap-1\">\n {TOOLBAR_BUTTONS.map((button) => (\n <button\n key={button.key}\n type=\"button\"\n onClick={() =>\n button.key === \"list\"\n ? handleList()\n : insertSyntax(button.syntax, button.suffix)\n }\n title={button.label}\n className=\"inline-flex items-center justify-center rounded-md p-1.5 text-text-secondary hover:bg-bg-sunken hover:text-text-primary focus:outline-none focus:ring-1 focus:ring-primary\"\n >\n <button.icon size={14} />\n </button>\n ))}\n </div>\n )}\n\n <div className=\"rounded-md border border-border-default overflow-hidden\">\n <div className=\"flex border-b border-border-default bg-bg-sunken\">\n <button\n type=\"button\"\n onClick={() => setActiveTab(\"write\")}\n className={cn(\n \"px-3 py-1.5 text-xs font-medium\",\n activeTab === \"write\"\n ? \"bg-bg-surface text-text-primary border-b-2 border-primary\"\n : \"text-text-secondary hover:text-text-primary\",\n )}\n >\n {writeLabel}\n </button>\n <button\n type=\"button\"\n onClick={() => setActiveTab(\"preview\")}\n className={cn(\n \"px-3 py-1.5 text-xs font-medium\",\n activeTab === \"preview\"\n ? \"bg-bg-surface text-text-primary border-b-2 border-primary\"\n : \"text-text-secondary hover:text-text-primary\",\n )}\n >\n {previewLabel}\n </button>\n </div>\n\n <div className={cn(activeTab !== \"write\" && \"hidden\")}>\n <textarea\n ref={textareaRef}\n id={fieldId}\n rows={rows}\n value={value}\n onChange={(e) => onChange(e.target.value)}\n placeholder={placeholder}\n className={cn(\n \"w-full bg-bg-surface px-3 py-2 text-sm resize-y\",\n \"focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent\",\n \"placeholder:text-text-secondary\",\n )}\n {...props}\n />\n </div>\n\n {activeTab === \"preview\" && (\n <div className=\"min-h-[theme(spacing.24)] bg-bg-surface px-3 py-2\">\n {value.trim() ? (\n <Markdown className=\"text-sm text-text-primary\">{value}</Markdown>\n ) : (\n <p className=\"text-sm text-text-secondary italic\">\n {placeholder || \"Nothing to preview yet.\"}\n </p>\n )}\n </div>\n )}\n </div>\n\n {hint && !error && <p className=\"text-xs text-text-secondary\">{hint}</p>}\n {error && <p className=\"text-xs text-status-error-text\">{error}</p>}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -33,6 +33,5 @@ interface MultiSelectComboboxProps {
33
33
  className?: string;
34
34
  error?: boolean;
35
35
  }
36
- export declare function MultiSelectCombobox({ options, selected, onChange, placeholder, searchPlaceholder, emptyText, id, disabled, className, error, }: MultiSelectComboboxProps): import("react").JSX.Element;
36
+ export declare function MultiSelectCombobox({ options, selected, onChange, placeholder, searchPlaceholder, emptyText, id, disabled, className, error, }: MultiSelectComboboxProps): import('react').JSX.Element;
37
37
  export {};
38
- //# sourceMappingURL=MultiSelectCombobox.d.ts.map
@@ -3,7 +3,7 @@ import { useMemo as t, useState as n } from "react";
3
3
  import { Check as r, ChevronDown as i, X as a } from "lucide-react";
4
4
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
5
  import { Command as c, CommandEmpty as l, CommandInput as u, CommandItem as d, CommandList as f, Popover as p, PopoverContent as m, PopoverTrigger as h } from "@burdenoff/fe-libs/ui";
6
- //#region src/devportal/components/MultiSelectCombobox.tsx
6
+ // src/devportal/components/MultiSelectCombobox.tsx
7
7
  function g({ options: g, selected: _, onChange: v, placeholder: y = "Select…", searchPlaceholder: b = "Search…", emptyText: x = "No matches.", id: S, disabled: C = !1, className: w, error: T = !1 }) {
8
8
  let [E, D] = n(!1), O = t(() => new Set(_), [_]), k = t(() => g.filter((e) => O.has(e.value)), [g, O]), A = (e) => {
9
9
  v(O.has(e) ? _.filter((t) => t !== e) : [..._, e]);
@@ -74,7 +74,6 @@ function g({ options: g, selected: _, onChange: v, placeholder: y = "Select…",
74
74
  })]
75
75
  });
76
76
  }
77
- //#endregion
78
77
  export { g as MultiSelectCombobox };
79
78
 
80
79
  //# sourceMappingURL=MultiSelectCombobox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiSelectCombobox.js","names":[],"sources":["../../../src/devportal/components/MultiSelectCombobox.tsx"],"sourcesContent":["/**\n * MultiSelectCombobox — a searchable, checkbox multi-select.\n * @module devportal/components\n *\n * Drop-in replacement for a flat checkbox-pill grid wherever the option\n * list can grow past a handful of items (e.g. Compatible Products, which\n * lists every active platform product). A closed-by-default trigger opens\n * a searchable popover list with a checkmark per selected item; picking an\n * item toggles it without closing the popover, and every selected item\n * renders as a removable chip below the trigger.\n *\n * Built entirely on the existing fe-libs `ui` primitives (Command + Popover)\n * — no new dependency. Mirrors the proven Popover+Command composition used\n * by intelwatchtower's `Combobox` (single-select) and manufacturedops'\n * `TagPicker` (chips-below-trigger), adapted for a fixed, fully-client-side\n * option list (no server search/create needed here).\n */\n\nimport { useMemo, useState } from \"react\";\nimport { Check, ChevronDown, X } from \"lucide-react\";\nimport {\n Command,\n CommandEmpty,\n CommandInput,\n CommandItem,\n CommandList,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@burdenoff/fe-libs/ui\";\nimport { cn } from \"../utils/cn\";\n\nexport interface MultiSelectOption {\n value: string;\n label: string;\n /** Optional secondary text rendered muted next to the label. */\n hint?: string;\n}\n\ninterface MultiSelectComboboxProps {\n options: MultiSelectOption[];\n selected: string[];\n onChange: (selected: string[]) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n emptyText?: string;\n id?: string;\n disabled?: boolean;\n className?: string;\n error?: boolean;\n}\n\nexport function MultiSelectCombobox({\n options,\n selected,\n onChange,\n placeholder = \"Select…\",\n searchPlaceholder = \"Search…\",\n emptyText = \"No matches.\",\n id,\n disabled = false,\n className,\n error = false,\n}: MultiSelectComboboxProps) {\n const [open, setOpen] = useState(false);\n const selectedSet = useMemo(() => new Set(selected), [selected]);\n const selectedOptions = useMemo(\n () => options.filter((o) => selectedSet.has(o.value)),\n [options, selectedSet],\n );\n\n const toggle = (value: string) => {\n onChange(\n selectedSet.has(value)\n ? selected.filter((v) => v !== value)\n : [...selected, value],\n );\n };\n\n return (\n <div className={className}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n id={id}\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn(\n \"flex h-10 w-full items-center justify-between gap-2 rounded-input border bg-bg-surface px-3 py-2 text-sm transition-colors duration-200 focus:border-border-focus focus:outline-none focus:shadow-[var(--shadow-focus)] focus:ring-1 focus:ring-[var(--color-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50\",\n error ? \"border-status-error-bg/50\" : \"border-border-default\",\n selectedOptions.length > 0\n ? \"text-text-primary\"\n : \"text-text-placeholder\",\n )}\n >\n <span className=\"truncate\">\n {selectedOptions.length > 0\n ? `${selectedOptions.length} selected`\n : placeholder}\n </span>\n <ChevronDown\n className=\"size-4 shrink-0 text-text-muted\"\n aria-hidden=\"true\"\n />\n </button>\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-[var(--radix-popover-trigger-width)] p-0 border-border-subtle bg-bg-elevated\"\n >\n <Command className=\"bg-bg-elevated text-text-primary\">\n <CommandInput placeholder={searchPlaceholder} />\n <CommandList>\n <CommandEmpty>{emptyText}</CommandEmpty>\n {options.map((o) => {\n const checked = selectedSet.has(o.value);\n return (\n <CommandItem\n key={o.value}\n value={o.label}\n onSelect={() => toggle(o.value)}\n >\n <Check\n className={cn(\n \"size-4 shrink-0\",\n checked ? \"opacity-100\" : \"opacity-0\",\n )}\n aria-hidden=\"true\"\n />\n <span className=\"truncate\">{o.label}</span>\n {o.hint && (\n <span className=\"ml-auto truncate text-xs text-text-tertiary\">\n {o.hint}\n </span>\n )}\n </CommandItem>\n );\n })}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n\n {selectedOptions.length > 0 && (\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n {selectedOptions.map((o) => (\n <span\n key={o.value}\n className=\"inline-flex items-center gap-1 rounded-full border border-border-subtle bg-bg-sunken px-2 py-1 text-xs text-text-primary\"\n >\n {o.label}\n <button\n type=\"button\"\n onClick={() => toggle(o.value)}\n disabled={disabled}\n className=\"text-text-secondary hover:text-text-primary disabled:cursor-not-allowed\"\n aria-label={`Remove ${o.label}`}\n >\n <X className=\"size-3\" />\n </button>\n </span>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;AAoDA,SAAgB,EAAoB,EAClC,YACA,aACA,aACA,iBAAc,WACd,uBAAoB,WACpB,eAAY,eACZ,OACA,cAAW,IACX,cACA,WAAQ,MACmB;CAC3B,IAAM,CAAC,GAAM,KAAW,EAAS,GAAM,EACjC,IAAc,QAAc,IAAI,IAAI,EAAS,EAAE,CAAC,EAAS,CAAC,EAC1D,IAAkB,QAChB,EAAQ,QAAQ,MAAM,EAAY,IAAI,EAAE,MAAM,CAAC,EACrD,CAAC,GAAS,EAAY,CACvB,EAEK,KAAU,MAAkB;AAChC,IACE,EAAY,IAAI,EAAM,GAClB,EAAS,QAAQ,MAAM,MAAM,EAAM,GACnC,CAAC,GAAG,GAAU,EAAM,CACzB;;AAGH,QACE,kBAAC,OAAD;EAAgB;YAAhB,CACE,kBAAC,GAAD;GAAe;GAAM,cAAc;aAAnC,CACE,kBAAC,GAAD;IAAgB,SAAA;cACd,kBAAC,UAAD;KACE,MAAK;KACD;KACJ,MAAK;KACL,iBAAe;KACL;KACV,WAAW,EACT,6TACA,IAAQ,8BAA8B,yBACtC,EAAgB,SAAS,IACrB,sBACA,wBACL;eAZH,CAcE,kBAAC,QAAD;MAAM,WAAU;gBACb,EAAgB,SAAS,IACtB,GAAG,EAAgB,OAAO,aAC1B;MACC,CAAA,EACP,kBAAC,GAAD;MACE,WAAU;MACV,eAAY;MACZ,CAAA,CACK;;IACM,CAAA,EACjB,kBAAC,GAAD;IACE,OAAM;IACN,WAAU;cAEV,kBAAC,GAAD;KAAS,WAAU;eAAnB,CACE,kBAAC,GAAD,EAAc,aAAa,GAAqB,CAAA,EAChD,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD,EAAA,UAAe,GAAyB,CAAA,EACvC,EAAQ,KAAK,MAAM;MAClB,IAAM,IAAU,EAAY,IAAI,EAAE,MAAM;AACxC,aACE,kBAAC,GAAD;OAEE,OAAO,EAAE;OACT,gBAAgB,EAAO,EAAE,MAAM;iBAHjC;QAKE,kBAAC,GAAD;SACE,WAAW,EACT,mBACA,IAAU,gBAAgB,YAC3B;SACD,eAAY;SACZ,CAAA;QACF,kBAAC,QAAD;SAAM,WAAU;mBAAY,EAAE;SAAa,CAAA;QAC1C,EAAE,QACD,kBAAC,QAAD;SAAM,WAAU;mBACb,EAAE;SACE,CAAA;QAEG;SAjBP,EAAE,MAiBK;OAEhB,CACU,EAAA,CAAA,CACN;;IACK,CAAA,CACT;MAET,EAAgB,SAAS,KACxB,kBAAC,OAAD;GAAK,WAAU;aACZ,EAAgB,KAAK,MACpB,kBAAC,QAAD;IAEE,WAAU;cAFZ,CAIG,EAAE,OACH,kBAAC,UAAD;KACE,MAAK;KACL,eAAe,EAAO,EAAE,MAAM;KACpB;KACV,WAAU;KACV,cAAY,UAAU,EAAE;eAExB,kBAAC,GAAD,EAAG,WAAU,UAAW,CAAA;KACjB,CAAA,CACJ;MAbA,EAAE,MAaF,CACP;GACE,CAAA,CAEJ"}
1
+ {"version":3,"file":"MultiSelectCombobox.js","names":["MultiSelectCombobox","open","setOpen","useState","selectedSet","useMemo","selected","selectedOptions","options","o","toggle","value","v","Popover","PopoverTrigger","cn","error","placeholder","ChevronDown","PopoverContent","Command","CommandInput","searchPlaceholder","CommandList","CommandEmpty","emptyText","checked","CommandItem","Check","X"],"sources":["../../../src/devportal/components/MultiSelectCombobox.tsx"],"sourcesContent":["/**\n * MultiSelectCombobox — a searchable, checkbox multi-select.\n * @module devportal/components\n *\n * Drop-in replacement for a flat checkbox-pill grid wherever the option\n * list can grow past a handful of items (e.g. Compatible Products, which\n * lists every active platform product). A closed-by-default trigger opens\n * a searchable popover list with a checkmark per selected item; picking an\n * item toggles it without closing the popover, and every selected item\n * renders as a removable chip below the trigger.\n *\n * Built entirely on the existing fe-libs `ui` primitives (Command + Popover)\n * — no new dependency. Mirrors the proven Popover+Command composition used\n * by intelwatchtower's `Combobox` (single-select) and manufacturedops'\n * `TagPicker` (chips-below-trigger), adapted for a fixed, fully-client-side\n * option list (no server search/create needed here).\n */\n\nimport { useMemo, useState } from \"react\";\nimport { Check, ChevronDown, X } from \"lucide-react\";\nimport {\n Command,\n CommandEmpty,\n CommandInput,\n CommandItem,\n CommandList,\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@burdenoff/fe-libs/ui\";\nimport { cn } from \"../utils/cn\";\n\nexport interface MultiSelectOption {\n value: string;\n label: string;\n /** Optional secondary text rendered muted next to the label. */\n hint?: string;\n}\n\ninterface MultiSelectComboboxProps {\n options: MultiSelectOption[];\n selected: string[];\n onChange: (selected: string[]) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n emptyText?: string;\n id?: string;\n disabled?: boolean;\n className?: string;\n error?: boolean;\n}\n\nexport function MultiSelectCombobox({\n options,\n selected,\n onChange,\n placeholder = \"Select…\",\n searchPlaceholder = \"Search…\",\n emptyText = \"No matches.\",\n id,\n disabled = false,\n className,\n error = false,\n}: MultiSelectComboboxProps) {\n const [open, setOpen] = useState(false);\n const selectedSet = useMemo(() => new Set(selected), [selected]);\n const selectedOptions = useMemo(\n () => options.filter((o) => selectedSet.has(o.value)),\n [options, selectedSet],\n );\n\n const toggle = (value: string) => {\n onChange(\n selectedSet.has(value)\n ? selected.filter((v) => v !== value)\n : [...selected, value],\n );\n };\n\n return (\n <div className={className}>\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n id={id}\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn(\n \"flex h-10 w-full items-center justify-between gap-2 rounded-input border bg-bg-surface px-3 py-2 text-sm transition-colors duration-200 focus:border-border-focus focus:outline-none focus:shadow-[var(--shadow-focus)] focus:ring-1 focus:ring-[var(--color-focus-ring)] disabled:cursor-not-allowed disabled:opacity-50\",\n error ? \"border-status-error-bg/50\" : \"border-border-default\",\n selectedOptions.length > 0\n ? \"text-text-primary\"\n : \"text-text-placeholder\",\n )}\n >\n <span className=\"truncate\">\n {selectedOptions.length > 0\n ? `${selectedOptions.length} selected`\n : placeholder}\n </span>\n <ChevronDown\n className=\"size-4 shrink-0 text-text-muted\"\n aria-hidden=\"true\"\n />\n </button>\n </PopoverTrigger>\n <PopoverContent\n align=\"start\"\n className=\"w-[var(--radix-popover-trigger-width)] p-0 border-border-subtle bg-bg-elevated\"\n >\n <Command className=\"bg-bg-elevated text-text-primary\">\n <CommandInput placeholder={searchPlaceholder} />\n <CommandList>\n <CommandEmpty>{emptyText}</CommandEmpty>\n {options.map((o) => {\n const checked = selectedSet.has(o.value);\n return (\n <CommandItem\n key={o.value}\n value={o.label}\n onSelect={() => toggle(o.value)}\n >\n <Check\n className={cn(\n \"size-4 shrink-0\",\n checked ? \"opacity-100\" : \"opacity-0\",\n )}\n aria-hidden=\"true\"\n />\n <span className=\"truncate\">{o.label}</span>\n {o.hint && (\n <span className=\"ml-auto truncate text-xs text-text-tertiary\">\n {o.hint}\n </span>\n )}\n </CommandItem>\n );\n })}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n\n {selectedOptions.length > 0 && (\n <div className=\"mt-2 flex flex-wrap gap-1.5\">\n {selectedOptions.map((o) => (\n <span\n key={o.value}\n className=\"inline-flex items-center gap-1 rounded-full border border-border-subtle bg-bg-sunken px-2 py-1 text-xs text-text-primary\"\n >\n {o.label}\n <button\n type=\"button\"\n onClick={() => toggle(o.value)}\n disabled={disabled}\n className=\"text-text-secondary hover:text-text-primary disabled:cursor-not-allowed\"\n aria-label={`Remove ${o.label}`}\n >\n <X className=\"size-3\" />\n </button>\n </span>\n ))}\n </div>\n )}\n </div>\n );\n}\n"],"mappings":";;;;;;AAoDA,SAAgBA,EAAoB,EAClC,YACA,aACA,aACA,iBAAc,WACd,uBAAoB,WACpB,eAAY,eACZ,OACA,cAAW,IACX,cACA,WAAQ,MACmB;CAC3B,IAAM,CAACC,GAAMC,KAAWC,EAAS,EAAK,GAChCC,IAAcC,QAAc,IAAI,IAAIC,CAAQ,GAAG,CAACA,CAAQ,CAAC,GACzDC,IAAkBF,QAChBG,EAAQ,QAAQ,MAAMJ,EAAY,IAAIK,EAAE,KAAK,CAAC,GACpD,CAACD,GAASJ,CAAW,CACvB,GAEMM,KAAU,MAAkB;EAChC,EACEN,EAAY,IAAIO,CAAK,IACjBL,EAAS,QAAQ,MAAMM,MAAMD,CAAK,IAClC,CAAC,GAAGL,GAAUK,CAAK,CACzB;CACF;CAEA,OACE,kBAAC,OAAD;EAAgB;EAAhB,UAAA,CACE,kBAACE,GAAD;GAAe;GAAM,cAAcX;GAAnC,UAAA,CACE,kBAACY,GAAD;IAAgB,SAAA;IACd,UAAA,kBAAC,UAAD;KACE,MAAK;KACD;KACJ,MAAK;KACL,iBAAeb;KACL;KACV,WAAWc,EACT,6TACAC,IAAQ,8BAA8B,yBACtCT,EAAgB,SAAS,IACrB,sBACA,uBACN;KAZF,UAAA,CAcE,kBAAC,QAAD;MAAM,WAAU;MACb,UAAAA,EAAgB,SAAS,IACtB,GAAGA,EAAgB,OAAO,aAC1BU;KACA,CAAA,GACN,kBAACC,GAAD;MACE,WAAU;MACV,eAAY;KACb,CAAA,CACK;;GACM,CAAA,GAChB,kBAACC,GAAD;IACE,OAAM;IACN,WAAU;IAEV,UAAA,kBAACC,GAAD;KAAS,WAAU;KAAnB,UAAA,CACE,kBAACC,GAAD,EAAc,aAAaC,EAAoB,CAAA,GAC/C,kBAACC,GAAD,EAAA,UAAA,CACE,kBAACC,GAAD,EAAA,UAAeC,EAAwB,CAAA,GACtCjB,EAAQ,KAAK,MAAM;MAClB,IAAMkB,IAAUtB,EAAY,IAAIK,EAAE,KAAK;MACvC,OACE,kBAACkB,GAAD;OAEE,OAAOlB,EAAE;OACT,gBAAgBC,EAAOD,EAAE,KAAK;OAHhC,UAAA;QAKE,kBAACmB,GAAD;SACE,WAAWb,EACT,mBACAW,IAAU,gBAAgB,WAC5B;SACA,eAAY;QACb,CAAA;QACD,kBAAC,QAAD;SAAM,WAAU;SAAY,UAAAjB,EAAE;QAAY,CAAA;QACzCA,EAAE,QACD,kBAAC,QAAD;SAAM,WAAU;SACb,UAAAA,EAAE;QACC,CAAA;OAEG;MAjBN,GAAAA,EAAE,KAiBI;KAEjB,CAAC,CACU,EAAA,CAAA,CACN;;GACK,CAAA,CACT;EAER,CAAA,GAAAF,EAAgB,SAAS,KACxB,kBAAC,OAAD;GAAK,WAAU;GACZ,UAAAA,EAAgB,KAAK,MACpB,kBAAC,QAAD;IAEE,WAAU;IAFZ,UAAA,CAIGE,EAAE,OACH,kBAAC,UAAD;KACE,MAAK;KACL,eAAeC,EAAOD,EAAE,KAAK;KACnB;KACV,WAAU;KACV,cAAY,UAAUA,EAAE;KAExB,UAAA,kBAACoB,GAAD,EAAG,WAAU,SAAU,CAAA;IACjB,CAAA,CACJ;GAbC,GAAApB,EAAE,KAaH,CACP;EACE,CAAA,CAEJ;;AAET"}
@@ -1,5 +1,4 @@
1
1
  import { FC } from 'react';
2
-
3
2
  export type SmokeOperationStatus = "PASS" | "FAIL" | "SKIP";
4
3
  export interface SmokeOperation {
5
4
  name: string;
@@ -31,4 +30,3 @@ interface NodeSmokePanelProps {
31
30
  }
32
31
  export declare const NodeSmokePanel: FC<NodeSmokePanelProps>;
33
32
  export {};
34
- //# sourceMappingURL=NodeSmokePanel.d.ts.map
@@ -1,9 +1,9 @@
1
- import { useTr as e } from "../utils/i18n.js";
2
- import { cn as t } from "../utils/cn.js";
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { useTr as t } from "../utils/i18n.js";
3
3
  import { useState as n } from "react";
4
4
  import { CheckCircle2 as r, ChevronDown as i, ChevronUp as a, Loader2 as o, MinusCircle as s, XCircle as c } from "lucide-react";
5
5
  import { jsx as l, jsxs as u } from "react/jsx-runtime";
6
- //#region src/devportal/components/NodeSmokePanel.tsx
6
+ // src/devportal/components/NodeSmokePanel.tsx
7
7
  function d(e) {
8
8
  return typeof e == "object" && !!e && !Array.isArray(e);
9
9
  }
@@ -41,34 +41,34 @@ var g = {
41
41
  PASS: "text-status-success-text",
42
42
  FAIL: "text-status-error-text",
43
43
  SKIP: "text-text-secondary"
44
- }, _ = ({ operations: e }) => /* @__PURE__ */ l("ul", {
44
+ }, _ = ({ operations: t }) => /* @__PURE__ */ l("ul", {
45
45
  className: "space-y-1",
46
- children: e.map((e, n) => /* @__PURE__ */ u("li", {
46
+ children: t.map((t, n) => /* @__PURE__ */ u("li", {
47
47
  className: "text-xs leading-snug",
48
48
  children: [
49
49
  /* @__PURE__ */ l("code", {
50
50
  className: "mr-1 rounded bg-bg-sunken px-1 py-0.5 font-mono text-text-primary",
51
- children: e.name
51
+ children: t.name
52
52
  }),
53
53
  /* @__PURE__ */ l("span", {
54
- className: t("font-medium", g[e.status]),
55
- children: e.status
54
+ className: e("font-medium", g[t.status]),
55
+ children: t.status
56
56
  }),
57
- (e.error ?? e.detail) && /* @__PURE__ */ l("span", {
57
+ (t.error ?? t.detail) && /* @__PURE__ */ l("span", {
58
58
  className: "ml-1 text-text-secondary",
59
- children: e.error ?? e.detail
59
+ children: t.error ?? t.detail
60
60
  }),
61
61
  /* @__PURE__ */ u("span", {
62
62
  className: "ml-1 text-text-tertiary",
63
- children: [e.durationMs, " ms"]
63
+ children: [t.durationMs, " ms"]
64
64
  })
65
65
  ]
66
- }, `${e.name}-${n}`))
66
+ }, `${t.name}-${n}`))
67
67
  }), v = ({ metadata: d, defaultExpanded: f = !1, className: p }) => {
68
- let m = e(), g = h(d), [v, y] = n(f);
68
+ let m = t(), g = h(d), [v, y] = n(f);
69
69
  if (g.kind === "none") return null;
70
70
  if (g.kind === "running") return /* @__PURE__ */ u("p", {
71
- className: t("inline-flex items-center gap-1 text-xs text-status-info-text", p),
71
+ className: e("inline-flex items-center gap-1 text-xs text-status-info-text", p),
72
72
  "data-testid": "node-smoke",
73
73
  "data-state": "running",
74
74
  children: [/* @__PURE__ */ l(o, {
@@ -96,13 +96,13 @@ var g = {
96
96
  skipped: "text-text-secondary"
97
97
  }, C = g.operations.length > 0 || g.error !== null;
98
98
  return /* @__PURE__ */ u("div", {
99
- className: t("space-y-1", p),
99
+ className: e("space-y-1", p),
100
100
  "data-testid": "node-smoke",
101
101
  "data-state": g.kind,
102
102
  children: [/* @__PURE__ */ u("button", {
103
103
  type: "button",
104
104
  onClick: () => C && y((e) => !e),
105
- className: t("inline-flex items-center gap-1 text-xs font-medium", S[g.kind], C ? "hover:underline" : "cursor-default"),
105
+ className: e("inline-flex items-center gap-1 text-xs font-medium", S[g.kind], C ? "hover:underline" : "cursor-default"),
106
106
  "aria-expanded": C ? v : void 0,
107
107
  children: [
108
108
  x[g.kind],
@@ -113,7 +113,7 @@ var g = {
113
113
  className: "max-w-md space-y-2 rounded-md border border-border-seam bg-bg-surface p-2",
114
114
  children: [
115
115
  g.error && /* @__PURE__ */ l("p", {
116
- className: t("text-xs", g.kind === "skipped" ? "text-text-secondary" : "text-status-error-text"),
116
+ className: e("text-xs", g.kind === "skipped" ? "text-text-secondary" : "text-status-error-text"),
117
117
  children: g.error
118
118
  }),
119
119
  g.operations.length > 0 && /* @__PURE__ */ l(_, { operations: g.operations }),
@@ -125,7 +125,6 @@ var g = {
125
125
  })]
126
126
  });
127
127
  };
128
- //#endregion
129
128
  export { v as NodeSmokePanel, h as readNodeSmokeState };
130
129
 
131
130
  //# sourceMappingURL=NodeSmokePanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NodeSmokePanel.js","names":[],"sources":["../../../src/devportal/components/NodeSmokePanel.tsx"],"sourcesContent":["/**\n * NodeSmokePanel — shows the operation smoke run (BOFF-9656) that\n * global-devportal-svc records on `ApplicationVersion.metadata.packageSmoke`.\n *\n * Once a custom node's sandbox image is built, the service starts it in a\n * sandbox and calls every manifest operation with an empty input, the same\n * check `fluidgrids-node smoke` runs locally. A version whose run failed, or\n * is still running, cannot be submitted or approved; this panel is how the\n * developer sees which operation broke and how the reviewer sees the result.\n */\nimport { useState } from \"react\";\nimport type { FC } from \"react\";\nimport {\n CheckCircle2,\n ChevronDown,\n ChevronUp,\n Loader2,\n MinusCircle,\n XCircle,\n} from \"lucide-react\";\n\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\n\nexport type SmokeOperationStatus = \"PASS\" | \"FAIL\" | \"SKIP\";\n\nexport interface SmokeOperation {\n name: string;\n status: SmokeOperationStatus;\n detail: string | null;\n error: string | null;\n durationMs: number;\n}\n\nexport type NodeSmokeState =\n | { kind: \"none\" }\n | { kind: \"running\" }\n | {\n kind: \"passed\" | \"failed\" | \"skipped\";\n operations: SmokeOperation[];\n passed: number;\n failed: number;\n skipped: number;\n error: string | null;\n finishedAt: string | null;\n };\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction readOperations(value: unknown): SmokeOperation[] {\n if (!Array.isArray(value)) return [];\n return value.filter(isRecord).map((entry) => ({\n name: typeof entry.name === \"string\" ? entry.name : \"\",\n status:\n entry.status === \"PASS\" || entry.status === \"SKIP\"\n ? entry.status\n : \"FAIL\",\n detail: typeof entry.detail === \"string\" ? entry.detail : null,\n error: typeof entry.error === \"string\" ? entry.error : null,\n durationMs: typeof entry.durationMs === \"number\" ? entry.durationMs : 0,\n }));\n}\n\nconst count = (value: unknown): number =>\n typeof value === \"number\" ? value : 0;\n\nconst SETTLED_KINDS: Record<string, \"passed\" | \"failed\" | \"skipped\"> = {\n PASSED: \"passed\",\n FAILED: \"failed\",\n SKIPPED: \"skipped\",\n};\n\n/** Parse the stored record defensively — metadata is untyped JSON. */\nexport function readNodeSmokeState(metadata: unknown): NodeSmokeState {\n if (!isRecord(metadata)) return { kind: \"none\" };\n const record = metadata.packageSmoke;\n if (!isRecord(record) || typeof record.status !== \"string\") {\n return { kind: \"none\" };\n }\n if (record.status === \"RUNNING\") return { kind: \"running\" };\n const kind = SETTLED_KINDS[record.status];\n if (!kind) return { kind: \"none\" };\n return {\n kind,\n operations: readOperations(record.operations),\n passed: count(record.passed),\n failed: count(record.failed),\n skipped: count(record.skipped),\n error: typeof record.error === \"string\" ? record.error : null,\n finishedAt:\n typeof record.finishedAt === \"string\" ? record.finishedAt : null,\n };\n}\n\nconst STATUS_CLASS: Record<SmokeOperationStatus, string> = {\n PASS: \"text-status-success-text\",\n FAIL: \"text-status-error-text\",\n SKIP: \"text-text-secondary\",\n};\n\nconst OperationList: FC<{ operations: SmokeOperation[] }> = ({\n operations,\n}) => (\n <ul className=\"space-y-1\">\n {operations.map((op, index) => (\n <li key={`${op.name}-${index}`} className=\"text-xs leading-snug\">\n <code className=\"mr-1 rounded bg-bg-sunken px-1 py-0.5 font-mono text-text-primary\">\n {op.name}\n </code>\n <span className={cn(\"font-medium\", STATUS_CLASS[op.status])}>\n {op.status}\n </span>\n {(op.error ?? op.detail) && (\n <span className=\"ml-1 text-text-secondary\">\n {op.error ?? op.detail}\n </span>\n )}\n <span className=\"ml-1 text-text-tertiary\">{op.durationMs} ms</span>\n </li>\n ))}\n </ul>\n);\n\ninterface NodeSmokePanelProps {\n metadata: unknown;\n /** Start expanded (the admin review card does; the versions table does not). */\n defaultExpanded?: boolean;\n className?: string;\n}\n\nexport const NodeSmokePanel: FC<NodeSmokePanelProps> = ({\n metadata,\n defaultExpanded = false,\n className,\n}) => {\n const tr = useTr();\n const state = readNodeSmokeState(metadata);\n const [expanded, setExpanded] = useState(defaultExpanded);\n\n // Nothing recorded: the build has not finished, or the version predates\n // operation smoke tests. The build status already says which.\n if (state.kind === \"none\") return null;\n\n if (state.kind === \"running\") {\n return (\n <p\n className={cn(\n \"inline-flex items-center gap-1 text-xs text-status-info-text\",\n className,\n )}\n data-testid=\"node-smoke\"\n data-state=\"running\"\n >\n <Loader2 size={12} className=\"animate-spin\" />\n {tr(\"devportal.nodeSmoke.running\", \"Testing operations…\")}\n </p>\n );\n }\n\n const summaries = {\n passed: tr(\n \"devportal.nodeSmoke.passed\",\n \"Operations tested: {{passed}} passed, {{skipped}} skipped\",\n { passed: state.passed, skipped: state.skipped },\n ),\n failed: tr(\n \"devportal.nodeSmoke.failed\",\n \"Operation tests failed: {{failed}} of {{total}}\",\n { failed: state.failed, total: state.operations.length },\n ),\n skipped: tr(\n \"devportal.nodeSmoke.skipped\",\n \"Operation tests not run in this environment\",\n ),\n };\n const icons = {\n passed: <CheckCircle2 size={12} />,\n failed: <XCircle size={12} />,\n skipped: <MinusCircle size={12} />,\n };\n const tone = {\n passed: \"text-status-success-text\",\n failed: \"text-status-error-text\",\n skipped: \"text-text-secondary\",\n };\n const hasDetails = state.operations.length > 0 || state.error !== null;\n\n return (\n <div\n className={cn(\"space-y-1\", className)}\n data-testid=\"node-smoke\"\n data-state={state.kind}\n >\n <button\n type=\"button\"\n onClick={() => hasDetails && setExpanded((value) => !value)}\n className={cn(\n \"inline-flex items-center gap-1 text-xs font-medium\",\n tone[state.kind],\n hasDetails ? \"hover:underline\" : \"cursor-default\",\n )}\n aria-expanded={hasDetails ? expanded : undefined}\n >\n {icons[state.kind]}\n {summaries[state.kind]}\n {hasDetails &&\n (expanded ? <ChevronUp size={12} /> : <ChevronDown size={12} />)}\n </button>\n {expanded && hasDetails && (\n <div className=\"max-w-md space-y-2 rounded-md border border-border-seam bg-bg-surface p-2\">\n {state.error && (\n <p\n className={cn(\n \"text-xs\",\n state.kind === \"skipped\"\n ? \"text-text-secondary\"\n : \"text-status-error-text\",\n )}\n >\n {state.error}\n </p>\n )}\n {state.operations.length > 0 && (\n <OperationList operations={state.operations} />\n )}\n {state.finishedAt && (\n <p className=\"text-[11px] text-text-secondary\">\n {new Date(state.finishedAt).toLocaleString()}\n </p>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"NodeSmokePanel.js","names":["isRecord","value","readOperations","entry","count","SETTLED_KINDS","readNodeSmokeState","metadata","record","kind","STATUS_CLASS","OperationList","operations","op","cn","index","NodeSmokePanel","tr","useTr","state","expanded","setExpanded","useState","defaultExpanded","className","Loader2","summaries","icons","CheckCircle2","XCircle","MinusCircle","tone","hasDetails","jsx","ChevronUp","ChevronDown"],"sources":["../../../src/devportal/components/NodeSmokePanel.tsx"],"sourcesContent":["/**\n * NodeSmokePanel — shows the operation smoke run (BOFF-9656) that\n * global-devportal-svc records on `ApplicationVersion.metadata.packageSmoke`.\n *\n * Once a custom node's sandbox image is built, the service starts it in a\n * sandbox and calls every manifest operation with an empty input, the same\n * check `fluidgrids-node smoke` runs locally. A version whose run failed, or\n * is still running, cannot be submitted or approved; this panel is how the\n * developer sees which operation broke and how the reviewer sees the result.\n */\nimport { useState } from \"react\";\nimport type { FC } from \"react\";\nimport {\n CheckCircle2,\n ChevronDown,\n ChevronUp,\n Loader2,\n MinusCircle,\n XCircle,\n} from \"lucide-react\";\n\nimport { cn } from \"../utils/cn\";\nimport { useTr } from \"../utils/i18n\";\n\nexport type SmokeOperationStatus = \"PASS\" | \"FAIL\" | \"SKIP\";\n\nexport interface SmokeOperation {\n name: string;\n status: SmokeOperationStatus;\n detail: string | null;\n error: string | null;\n durationMs: number;\n}\n\nexport type NodeSmokeState =\n | { kind: \"none\" }\n | { kind: \"running\" }\n | {\n kind: \"passed\" | \"failed\" | \"skipped\";\n operations: SmokeOperation[];\n passed: number;\n failed: number;\n skipped: number;\n error: string | null;\n finishedAt: string | null;\n };\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return typeof value === \"object\" && value !== null && !Array.isArray(value);\n}\n\nfunction readOperations(value: unknown): SmokeOperation[] {\n if (!Array.isArray(value)) return [];\n return value.filter(isRecord).map((entry) => ({\n name: typeof entry.name === \"string\" ? entry.name : \"\",\n status:\n entry.status === \"PASS\" || entry.status === \"SKIP\"\n ? entry.status\n : \"FAIL\",\n detail: typeof entry.detail === \"string\" ? entry.detail : null,\n error: typeof entry.error === \"string\" ? entry.error : null,\n durationMs: typeof entry.durationMs === \"number\" ? entry.durationMs : 0,\n }));\n}\n\nconst count = (value: unknown): number =>\n typeof value === \"number\" ? value : 0;\n\nconst SETTLED_KINDS: Record<string, \"passed\" | \"failed\" | \"skipped\"> = {\n PASSED: \"passed\",\n FAILED: \"failed\",\n SKIPPED: \"skipped\",\n};\n\n/** Parse the stored record defensively — metadata is untyped JSON. */\nexport function readNodeSmokeState(metadata: unknown): NodeSmokeState {\n if (!isRecord(metadata)) return { kind: \"none\" };\n const record = metadata.packageSmoke;\n if (!isRecord(record) || typeof record.status !== \"string\") {\n return { kind: \"none\" };\n }\n if (record.status === \"RUNNING\") return { kind: \"running\" };\n const kind = SETTLED_KINDS[record.status];\n if (!kind) return { kind: \"none\" };\n return {\n kind,\n operations: readOperations(record.operations),\n passed: count(record.passed),\n failed: count(record.failed),\n skipped: count(record.skipped),\n error: typeof record.error === \"string\" ? record.error : null,\n finishedAt:\n typeof record.finishedAt === \"string\" ? record.finishedAt : null,\n };\n}\n\nconst STATUS_CLASS: Record<SmokeOperationStatus, string> = {\n PASS: \"text-status-success-text\",\n FAIL: \"text-status-error-text\",\n SKIP: \"text-text-secondary\",\n};\n\nconst OperationList: FC<{ operations: SmokeOperation[] }> = ({\n operations,\n}) => (\n <ul className=\"space-y-1\">\n {operations.map((op, index) => (\n <li key={`${op.name}-${index}`} className=\"text-xs leading-snug\">\n <code className=\"mr-1 rounded bg-bg-sunken px-1 py-0.5 font-mono text-text-primary\">\n {op.name}\n </code>\n <span className={cn(\"font-medium\", STATUS_CLASS[op.status])}>\n {op.status}\n </span>\n {(op.error ?? op.detail) && (\n <span className=\"ml-1 text-text-secondary\">\n {op.error ?? op.detail}\n </span>\n )}\n <span className=\"ml-1 text-text-tertiary\">{op.durationMs} ms</span>\n </li>\n ))}\n </ul>\n);\n\ninterface NodeSmokePanelProps {\n metadata: unknown;\n /** Start expanded (the admin review card does; the versions table does not). */\n defaultExpanded?: boolean;\n className?: string;\n}\n\nexport const NodeSmokePanel: FC<NodeSmokePanelProps> = ({\n metadata,\n defaultExpanded = false,\n className,\n}) => {\n const tr = useTr();\n const state = readNodeSmokeState(metadata);\n const [expanded, setExpanded] = useState(defaultExpanded);\n\n // Nothing recorded: the build has not finished, or the version predates\n // operation smoke tests. The build status already says which.\n if (state.kind === \"none\") return null;\n\n if (state.kind === \"running\") {\n return (\n <p\n className={cn(\n \"inline-flex items-center gap-1 text-xs text-status-info-text\",\n className,\n )}\n data-testid=\"node-smoke\"\n data-state=\"running\"\n >\n <Loader2 size={12} className=\"animate-spin\" />\n {tr(\"devportal.nodeSmoke.running\", \"Testing operations…\")}\n </p>\n );\n }\n\n const summaries = {\n passed: tr(\n \"devportal.nodeSmoke.passed\",\n \"Operations tested: {{passed}} passed, {{skipped}} skipped\",\n { passed: state.passed, skipped: state.skipped },\n ),\n failed: tr(\n \"devportal.nodeSmoke.failed\",\n \"Operation tests failed: {{failed}} of {{total}}\",\n { failed: state.failed, total: state.operations.length },\n ),\n skipped: tr(\n \"devportal.nodeSmoke.skipped\",\n \"Operation tests not run in this environment\",\n ),\n };\n const icons = {\n passed: <CheckCircle2 size={12} />,\n failed: <XCircle size={12} />,\n skipped: <MinusCircle size={12} />,\n };\n const tone = {\n passed: \"text-status-success-text\",\n failed: \"text-status-error-text\",\n skipped: \"text-text-secondary\",\n };\n const hasDetails = state.operations.length > 0 || state.error !== null;\n\n return (\n <div\n className={cn(\"space-y-1\", className)}\n data-testid=\"node-smoke\"\n data-state={state.kind}\n >\n <button\n type=\"button\"\n onClick={() => hasDetails && setExpanded((value) => !value)}\n className={cn(\n \"inline-flex items-center gap-1 text-xs font-medium\",\n tone[state.kind],\n hasDetails ? \"hover:underline\" : \"cursor-default\",\n )}\n aria-expanded={hasDetails ? expanded : undefined}\n >\n {icons[state.kind]}\n {summaries[state.kind]}\n {hasDetails &&\n (expanded ? <ChevronUp size={12} /> : <ChevronDown size={12} />)}\n </button>\n {expanded && hasDetails && (\n <div className=\"max-w-md space-y-2 rounded-md border border-border-seam bg-bg-surface p-2\">\n {state.error && (\n <p\n className={cn(\n \"text-xs\",\n state.kind === \"skipped\"\n ? \"text-text-secondary\"\n : \"text-status-error-text\",\n )}\n >\n {state.error}\n </p>\n )}\n {state.operations.length > 0 && (\n <OperationList operations={state.operations} />\n )}\n {state.finishedAt && (\n <p className=\"text-[11px] text-text-secondary\">\n {new Date(state.finishedAt).toLocaleString()}\n </p>\n )}\n </div>\n )}\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { FC } from 'react';
2
-
3
2
  export interface OnboardingChecklistProps {
4
3
  /** Navigate to a devportal-relative path (the caller adds basePath). */
5
4
  onNavigate: (path: string) => void;
@@ -13,4 +12,3 @@ export interface OnboardingChecklistProps {
13
12
  * never flashes for an established developer.
14
13
  */
15
14
  export declare const OnboardingChecklist: FC<OnboardingChecklistProps>;
16
- //# sourceMappingURL=OnboardingChecklist.d.ts.map
@@ -1,11 +1,11 @@
1
1
  import { useTr as e } from "../utils/i18n.js";
2
2
  import { cn as t } from "../utils/cn.js";
3
- import { useGetDeveloperOnboardingStatusQuery as n } from "../../generated/global-operations.js";
4
- import { computeOnboardingState as r } from "../utils/developerOnboarding.js";
5
- import { DEVELOPER_LINKS as i } from "../constants/developerLinks.js";
3
+ import { computeOnboardingState as n } from "../utils/developerOnboarding.js";
4
+ import { DEVELOPER_LINKS as r } from "../constants/developerLinks.js";
5
+ import { useGetDeveloperOnboardingStatusQuery as i } from "../../generated/global-operations.js";
6
6
  import { BookOpen as a, Check as o, ChevronRight as s, Code2 as c, Plug as l, Terminal as u } from "lucide-react";
7
7
  import { jsx as d, jsxs as f } from "react/jsx-runtime";
8
- //#region src/devportal/components/OnboardingChecklist.tsx
8
+ // src/devportal/components/OnboardingChecklist.tsx
9
9
  var p = {
10
10
  profile: {
11
11
  key: "devportal.onboarding.steps.profile",
@@ -36,34 +36,34 @@ var p = {
36
36
  id: "publishConnector",
37
37
  key: "devportal.onboarding.links.publishConnector",
38
38
  label: "Publish a connector",
39
- url: i.publishConnector,
39
+ url: r.publishConnector,
40
40
  icon: l
41
41
  },
42
42
  {
43
43
  id: "nodeSdk",
44
44
  key: "devportal.onboarding.links.nodeSdk",
45
45
  label: "Node.js SDK",
46
- url: i.nodeSdk,
46
+ url: r.nodeSdk,
47
47
  icon: c
48
48
  },
49
49
  {
50
50
  id: "cli",
51
51
  key: "devportal.onboarding.links.cli",
52
52
  label: "CLI reference",
53
- url: i.cliReference,
53
+ url: r.cliReference,
54
54
  icon: u
55
55
  },
56
56
  {
57
57
  id: "guide",
58
58
  key: "devportal.onboarding.links.guide",
59
59
  label: "Registration guide",
60
- url: i.registrationGuide,
60
+ url: r.registrationGuide,
61
61
  icon: a
62
62
  }
63
- ], h = ({ onNavigate: i }) => {
64
- let a = e(), { data: c, loading: l, error: u } = n({ fetchPolicy: "no-cache" });
63
+ ], h = ({ onNavigate: r }) => {
64
+ let a = e(), { data: c, loading: l, error: u } = i({ fetchPolicy: "no-cache" });
65
65
  if (l && !c || u && !c) return null;
66
- let h = c, g = h?.applications?.edges?.map((e) => e.node) ?? [], _ = r({
66
+ let h = c, g = h?.applications?.edges?.map((e) => e.node) ?? [], _ = n({
67
67
  hasProfile: !!h?.myDeveloperProfile?.id,
68
68
  organizationKinds: (h?.myDeveloperOrganizations ?? []).map((e) => e.kind),
69
69
  applications: g,
@@ -91,12 +91,12 @@ var p = {
91
91
  /* @__PURE__ */ d("ol", {
92
92
  className: "mt-4 flex flex-col gap-2",
93
93
  children: _.steps.map((e, n) => {
94
- let r = p[e.id], c = _.nextStep?.id === e.id;
94
+ let i = p[e.id], c = _.nextStep?.id === e.id;
95
95
  return /* @__PURE__ */ d("li", { children: /* @__PURE__ */ f("button", {
96
96
  type: "button",
97
97
  "data-testid": `devportal-onboarding-step-${e.id}`,
98
98
  "data-done": e.done ? "true" : "false",
99
- onClick: () => i(e.path),
99
+ onClick: () => r(e.path),
100
100
  className: t("flex w-full items-center gap-3 rounded-lg border px-4 py-3 text-left transition-colors", c ? "border-primary bg-action-primary-bg/5 hover:bg-action-primary-bg/10" : "border-border-subtle hover:bg-bg-muted"),
101
101
  children: [
102
102
  /* @__PURE__ */ d("span", {
@@ -108,13 +108,13 @@ var p = {
108
108
  className: "min-w-0 flex-1",
109
109
  children: [/* @__PURE__ */ f("span", {
110
110
  className: t("block text-sm font-medium", e.done ? "text-text-secondary line-through" : "text-text-primary"),
111
- children: [a(r.key, r.title), /* @__PURE__ */ d("span", {
111
+ children: [a(i.key, i.title), /* @__PURE__ */ d("span", {
112
112
  className: "sr-only",
113
113
  children: e.done ? ` (${a("devportal.onboarding.done", "done")})` : ` (${a("devportal.onboarding.todo", "to do")})`
114
114
  })]
115
115
  }), /* @__PURE__ */ d("span", {
116
116
  className: "block text-xs text-text-secondary",
117
- children: a(r.descKey, r.desc)
117
+ children: a(i.descKey, i.desc)
118
118
  })]
119
119
  }),
120
120
  /* @__PURE__ */ d(s, {
@@ -145,7 +145,6 @@ var p = {
145
145
  ]
146
146
  });
147
147
  };
148
- //#endregion
149
148
  export { h as OnboardingChecklist };
150
149
 
151
150
  //# sourceMappingURL=OnboardingChecklist.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"OnboardingChecklist.js","names":[],"sources":["../../../src/devportal/components/OnboardingChecklist.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport {\n BookOpen,\n Check,\n ChevronRight,\n Plug,\n Terminal,\n Code2,\n} from \"lucide-react\";\nimport { useTr } from \"../utils/i18n\";\nimport { cn } from \"../utils/cn\";\nimport {\n computeOnboardingState,\n type OnboardingStepId,\n} from \"../utils/developerOnboarding\";\nimport { DEVELOPER_LINKS } from \"../constants/developerLinks\";\nimport {\n useGetDeveloperOnboardingStatusQuery,\n type GetDeveloperOnboardingStatusQuery,\n} from \"../../generated/global-operations\";\n\ntype OnboardingStatus = GetDeveloperOnboardingStatusQuery;\ntype OnboardingApp = OnboardingStatus[\"applications\"][\"edges\"][number][\"node\"];\ntype OnboardingOrg = OnboardingStatus[\"myDeveloperOrganizations\"][number];\n\nconst STEP_COPY: Record<\n OnboardingStepId,\n { key: string; title: string; descKey: string; desc: string }\n> = {\n profile: {\n key: \"devportal.onboarding.steps.profile\",\n title: \"Create your developer profile\",\n descKey: \"devportal.onboarding.steps.profileDesc\",\n desc: \"Tell customers who builds your apps: company, website and links.\",\n },\n organization: {\n key: \"devportal.onboarding.steps.organization\",\n title: \"Create a developer organization\",\n descKey: \"devportal.onboarding.steps.organizationDesc\",\n desc: \"The publisher identity that owns your apps and your team.\",\n },\n app: {\n key: \"devportal.onboarding.steps.app\",\n title: \"Register your first app\",\n descKey: \"devportal.onboarding.steps.appDesc\",\n desc: \"An API integration, workflow node or workflow template.\",\n },\n submit: {\n key: \"devportal.onboarding.steps.submit\",\n title: \"Submit it for review\",\n descKey: \"devportal.onboarding.steps.submitDesc\",\n desc: \"Reviewers check every submission before it is listed.\",\n },\n};\n\nconst RESOURCE_LINKS = [\n {\n id: \"publishConnector\",\n key: \"devportal.onboarding.links.publishConnector\",\n label: \"Publish a connector\",\n url: DEVELOPER_LINKS.publishConnector,\n icon: Plug,\n },\n {\n id: \"nodeSdk\",\n key: \"devportal.onboarding.links.nodeSdk\",\n label: \"Node.js SDK\",\n url: DEVELOPER_LINKS.nodeSdk,\n icon: Code2,\n },\n {\n id: \"cli\",\n key: \"devportal.onboarding.links.cli\",\n label: \"CLI reference\",\n url: DEVELOPER_LINKS.cliReference,\n icon: Terminal,\n },\n {\n id: \"guide\",\n key: \"devportal.onboarding.links.guide\",\n label: \"Registration guide\",\n url: DEVELOPER_LINKS.registrationGuide,\n icon: BookOpen,\n },\n] as const;\n\nexport interface OnboardingChecklistProps {\n /** Navigate to a devportal-relative path (the caller adds basePath). */\n onNavigate: (path: string) => void;\n}\n\n/**\n * \"Get started as a developer\" checklist on the devportal dashboard\n * (BOFF-10636). Shows the four steps of the public registration journey\n * with their live state, links each open step to the page that completes\n * it, and points at the connector publishing guide and the SDK/CLI docs.\n * Renders nothing once every step is done, or while the status loads, so it\n * never flashes for an established developer.\n */\nexport const OnboardingChecklist: FC<OnboardingChecklistProps> = ({\n onNavigate,\n}) => {\n const tr = useTr();\n // no-cache: the dashboard's own `applications(limit: 5)` query shares the\n // paginated cache entry, and a later five-app page replacing this 100-app\n // one would make the checklist read a truncated list as \"submitted\".\n const { data, loading, error } = useGetDeveloperOnboardingStatusQuery({\n fetchPolicy: \"no-cache\",\n });\n\n if (loading && !data) return null;\n if (error && !data) return null;\n\n const status: OnboardingStatus | undefined = data;\n const applications: OnboardingApp[] =\n status?.applications?.edges?.map(\n (edge: { node: OnboardingApp }) => edge.node,\n ) ?? [];\n const state = computeOnboardingState({\n hasProfile: !!status?.myDeveloperProfile?.id,\n organizationKinds: (status?.myDeveloperOrganizations ?? []).map(\n (org: OnboardingOrg) => org.kind,\n ),\n applications,\n totalApplications: status?.applications?.totalCount ?? 0,\n });\n\n if (state.isComplete) return null;\n\n return (\n <section\n aria-labelledby=\"devportal-onboarding-title\"\n data-testid=\"devportal-onboarding-checklist\"\n className=\"rounded-card border border-border-seam bg-bg-surface p-5\"\n >\n <div className=\"flex flex-wrap items-baseline justify-between gap-2\">\n <h2\n id=\"devportal-onboarding-title\"\n className=\"text-base font-semibold text-text-primary\"\n >\n {tr(\"devportal.onboarding.title\", \"Get started as a developer\")}\n </h2>\n <p className=\"text-sm text-text-secondary\">\n {tr(\"devportal.onboarding.progress\", \"{{done}} of {{total}} done\", {\n done: state.completedCount,\n total: state.steps.length,\n })}\n </p>\n </div>\n\n <ol className=\"mt-4 flex flex-col gap-2\">\n {state.steps.map((step, index) => {\n const copy = STEP_COPY[step.id];\n const isNext = state.nextStep?.id === step.id;\n return (\n <li key={step.id}>\n <button\n type=\"button\"\n data-testid={`devportal-onboarding-step-${step.id}`}\n data-done={step.done ? \"true\" : \"false\"}\n onClick={() => onNavigate(step.path)}\n className={cn(\n \"flex w-full items-center gap-3 rounded-lg border px-4 py-3 text-left transition-colors\",\n isNext\n ? \"border-primary bg-action-primary-bg/5 hover:bg-action-primary-bg/10\"\n : \"border-border-subtle hover:bg-bg-muted\",\n )}\n >\n <span\n className={cn(\n \"flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold\",\n step.done\n ? \"bg-status-success-bg-subtle text-status-success-text\"\n : \"bg-bg-sunken text-text-secondary\",\n )}\n aria-hidden=\"true\"\n >\n {step.done ? <Check size={14} /> : index + 1}\n </span>\n <span className=\"min-w-0 flex-1\">\n <span\n className={cn(\n \"block text-sm font-medium\",\n step.done\n ? \"text-text-secondary line-through\"\n : \"text-text-primary\",\n )}\n >\n {tr(copy.key, copy.title)}\n <span className=\"sr-only\">\n {step.done\n ? ` (${tr(\"devportal.onboarding.done\", \"done\")})`\n : ` (${tr(\"devportal.onboarding.todo\", \"to do\")})`}\n </span>\n </span>\n <span className=\"block text-xs text-text-secondary\">\n {tr(copy.descKey, copy.desc)}\n </span>\n </span>\n <ChevronRight\n size={16}\n className=\"shrink-0 text-text-muted\"\n aria-hidden=\"true\"\n />\n </button>\n </li>\n );\n })}\n </ol>\n\n <div className=\"mt-4 flex flex-wrap gap-x-5 gap-y-2 border-t border-border-seam pt-4\">\n {RESOURCE_LINKS.map((link) => {\n const Icon = link.icon;\n return (\n <a\n key={link.id}\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1.5 text-sm font-medium text-primary hover:underline\"\n >\n <Icon size={14} aria-hidden=\"true\" />\n {tr(link.key, link.label)}\n </a>\n );\n })}\n </div>\n </section>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"OnboardingChecklist.js","names":["STEP_COPY","RESOURCE_LINKS","DEVELOPER_LINKS","Plug","Code2","Terminal","BookOpen","OnboardingChecklist","tr","useTr","useGetDeveloperOnboardingStatusQuery","loading","data","error","status","applications","edge","state","computeOnboardingState","org","copy","step","isNext","onNavigate","cn","Check","index","ChevronRight","Icon","link"],"sources":["../../../src/devportal/components/OnboardingChecklist.tsx"],"sourcesContent":["import type { FC } from \"react\";\nimport {\n BookOpen,\n Check,\n ChevronRight,\n Plug,\n Terminal,\n Code2,\n} from \"lucide-react\";\nimport { useTr } from \"../utils/i18n\";\nimport { cn } from \"../utils/cn\";\nimport {\n computeOnboardingState,\n type OnboardingStepId,\n} from \"../utils/developerOnboarding\";\nimport { DEVELOPER_LINKS } from \"../constants/developerLinks\";\nimport {\n useGetDeveloperOnboardingStatusQuery,\n type GetDeveloperOnboardingStatusQuery,\n} from \"../../generated/global-operations\";\n\ntype OnboardingStatus = GetDeveloperOnboardingStatusQuery;\ntype OnboardingApp = OnboardingStatus[\"applications\"][\"edges\"][number][\"node\"];\ntype OnboardingOrg = OnboardingStatus[\"myDeveloperOrganizations\"][number];\n\nconst STEP_COPY: Record<\n OnboardingStepId,\n { key: string; title: string; descKey: string; desc: string }\n> = {\n profile: {\n key: \"devportal.onboarding.steps.profile\",\n title: \"Create your developer profile\",\n descKey: \"devportal.onboarding.steps.profileDesc\",\n desc: \"Tell customers who builds your apps: company, website and links.\",\n },\n organization: {\n key: \"devportal.onboarding.steps.organization\",\n title: \"Create a developer organization\",\n descKey: \"devportal.onboarding.steps.organizationDesc\",\n desc: \"The publisher identity that owns your apps and your team.\",\n },\n app: {\n key: \"devportal.onboarding.steps.app\",\n title: \"Register your first app\",\n descKey: \"devportal.onboarding.steps.appDesc\",\n desc: \"An API integration, workflow node or workflow template.\",\n },\n submit: {\n key: \"devportal.onboarding.steps.submit\",\n title: \"Submit it for review\",\n descKey: \"devportal.onboarding.steps.submitDesc\",\n desc: \"Reviewers check every submission before it is listed.\",\n },\n};\n\nconst RESOURCE_LINKS = [\n {\n id: \"publishConnector\",\n key: \"devportal.onboarding.links.publishConnector\",\n label: \"Publish a connector\",\n url: DEVELOPER_LINKS.publishConnector,\n icon: Plug,\n },\n {\n id: \"nodeSdk\",\n key: \"devportal.onboarding.links.nodeSdk\",\n label: \"Node.js SDK\",\n url: DEVELOPER_LINKS.nodeSdk,\n icon: Code2,\n },\n {\n id: \"cli\",\n key: \"devportal.onboarding.links.cli\",\n label: \"CLI reference\",\n url: DEVELOPER_LINKS.cliReference,\n icon: Terminal,\n },\n {\n id: \"guide\",\n key: \"devportal.onboarding.links.guide\",\n label: \"Registration guide\",\n url: DEVELOPER_LINKS.registrationGuide,\n icon: BookOpen,\n },\n] as const;\n\nexport interface OnboardingChecklistProps {\n /** Navigate to a devportal-relative path (the caller adds basePath). */\n onNavigate: (path: string) => void;\n}\n\n/**\n * \"Get started as a developer\" checklist on the devportal dashboard\n * (BOFF-10636). Shows the four steps of the public registration journey\n * with their live state, links each open step to the page that completes\n * it, and points at the connector publishing guide and the SDK/CLI docs.\n * Renders nothing once every step is done, or while the status loads, so it\n * never flashes for an established developer.\n */\nexport const OnboardingChecklist: FC<OnboardingChecklistProps> = ({\n onNavigate,\n}) => {\n const tr = useTr();\n // no-cache: the dashboard's own `applications(limit: 5)` query shares the\n // paginated cache entry, and a later five-app page replacing this 100-app\n // one would make the checklist read a truncated list as \"submitted\".\n const { data, loading, error } = useGetDeveloperOnboardingStatusQuery({\n fetchPolicy: \"no-cache\",\n });\n\n if (loading && !data) return null;\n if (error && !data) return null;\n\n const status: OnboardingStatus | undefined = data;\n const applications: OnboardingApp[] =\n status?.applications?.edges?.map(\n (edge: { node: OnboardingApp }) => edge.node,\n ) ?? [];\n const state = computeOnboardingState({\n hasProfile: !!status?.myDeveloperProfile?.id,\n organizationKinds: (status?.myDeveloperOrganizations ?? []).map(\n (org: OnboardingOrg) => org.kind,\n ),\n applications,\n totalApplications: status?.applications?.totalCount ?? 0,\n });\n\n if (state.isComplete) return null;\n\n return (\n <section\n aria-labelledby=\"devportal-onboarding-title\"\n data-testid=\"devportal-onboarding-checklist\"\n className=\"rounded-card border border-border-seam bg-bg-surface p-5\"\n >\n <div className=\"flex flex-wrap items-baseline justify-between gap-2\">\n <h2\n id=\"devportal-onboarding-title\"\n className=\"text-base font-semibold text-text-primary\"\n >\n {tr(\"devportal.onboarding.title\", \"Get started as a developer\")}\n </h2>\n <p className=\"text-sm text-text-secondary\">\n {tr(\"devportal.onboarding.progress\", \"{{done}} of {{total}} done\", {\n done: state.completedCount,\n total: state.steps.length,\n })}\n </p>\n </div>\n\n <ol className=\"mt-4 flex flex-col gap-2\">\n {state.steps.map((step, index) => {\n const copy = STEP_COPY[step.id];\n const isNext = state.nextStep?.id === step.id;\n return (\n <li key={step.id}>\n <button\n type=\"button\"\n data-testid={`devportal-onboarding-step-${step.id}`}\n data-done={step.done ? \"true\" : \"false\"}\n onClick={() => onNavigate(step.path)}\n className={cn(\n \"flex w-full items-center gap-3 rounded-lg border px-4 py-3 text-left transition-colors\",\n isNext\n ? \"border-primary bg-action-primary-bg/5 hover:bg-action-primary-bg/10\"\n : \"border-border-subtle hover:bg-bg-muted\",\n )}\n >\n <span\n className={cn(\n \"flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold\",\n step.done\n ? \"bg-status-success-bg-subtle text-status-success-text\"\n : \"bg-bg-sunken text-text-secondary\",\n )}\n aria-hidden=\"true\"\n >\n {step.done ? <Check size={14} /> : index + 1}\n </span>\n <span className=\"min-w-0 flex-1\">\n <span\n className={cn(\n \"block text-sm font-medium\",\n step.done\n ? \"text-text-secondary line-through\"\n : \"text-text-primary\",\n )}\n >\n {tr(copy.key, copy.title)}\n <span className=\"sr-only\">\n {step.done\n ? ` (${tr(\"devportal.onboarding.done\", \"done\")})`\n : ` (${tr(\"devportal.onboarding.todo\", \"to do\")})`}\n </span>\n </span>\n <span className=\"block text-xs text-text-secondary\">\n {tr(copy.descKey, copy.desc)}\n </span>\n </span>\n <ChevronRight\n size={16}\n className=\"shrink-0 text-text-muted\"\n aria-hidden=\"true\"\n />\n </button>\n </li>\n );\n })}\n </ol>\n\n <div className=\"mt-4 flex flex-wrap gap-x-5 gap-y-2 border-t border-border-seam pt-4\">\n {RESOURCE_LINKS.map((link) => {\n const Icon = link.icon;\n return (\n <a\n key={link.id}\n href={link.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-1.5 text-sm font-medium text-primary hover:underline\"\n >\n <Icon size={14} aria-hidden=\"true\" />\n {tr(link.key, link.label)}\n </a>\n );\n })}\n </div>\n </section>\n );\n};\n"],"mappings":"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"}
@@ -1,5 +1,4 @@
1
1
  import { FC } from 'react';
2
-
3
2
  export interface PackageValidationIssue {
4
3
  severity: "error" | "warning";
5
4
  code: string;
@@ -28,4 +27,3 @@ interface PackageValidationPanelProps {
28
27
  }
29
28
  export declare const PackageValidationPanel: FC<PackageValidationPanelProps>;
30
29
  export {};
31
- //# sourceMappingURL=PackageValidationPanel.d.ts.map
@@ -1,10 +1,10 @@
1
- import { useTr as e } from "../utils/i18n.js";
2
- import { cn as t } from "../utils/cn.js";
1
+ import { cn as e } from "../utils/cn.js";
2
+ import { useTr as t } from "../utils/i18n.js";
3
3
  import { NodeSmokePanel as n } from "./NodeSmokePanel.js";
4
4
  import { useState as r } from "react";
5
5
  import { AlertTriangle as i, CheckCircle2 as a, ChevronDown as o, ChevronUp as s, Loader2 as c, XCircle as l } from "lucide-react";
6
6
  import { jsx as u, jsxs as d } from "react/jsx-runtime";
7
- //#region src/devportal/components/PackageValidationPanel.tsx
7
+ // src/devportal/components/PackageValidationPanel.tsx
8
8
  function f(e) {
9
9
  return typeof e == "object" && !!e && !Array.isArray(e);
10
10
  }
@@ -40,25 +40,25 @@ var h = ({ issues: e }) => /* @__PURE__ */ u("ul", {
40
40
  children: e.message
41
41
  })]
42
42
  }, `${e.code}-${e.path}-${t}`))
43
- }), g = ({ metadata: e, defaultExpanded: r = !1, className: i }) => /* @__PURE__ */ d("div", {
44
- className: t("space-y-1", i),
43
+ }), g = ({ metadata: t, defaultExpanded: r = !1, className: i }) => /* @__PURE__ */ d("div", {
44
+ className: e("space-y-1", i),
45
45
  children: [/* @__PURE__ */ u(_, {
46
- metadata: e,
46
+ metadata: t,
47
47
  defaultExpanded: r
48
48
  }), /* @__PURE__ */ u(n, {
49
- metadata: e,
49
+ metadata: t,
50
50
  defaultExpanded: r
51
51
  })]
52
52
  }), _ = ({ metadata: n, defaultExpanded: f = !1, className: p }) => {
53
- let g = e(), _ = m(n), [v, y] = r(f);
53
+ let g = t(), _ = m(n), [v, y] = r(f);
54
54
  if (_.kind === "none") return /* @__PURE__ */ u("p", {
55
- className: t("text-xs text-text-secondary", p),
55
+ className: e("text-xs text-text-secondary", p),
56
56
  "data-testid": "package-validation",
57
57
  "data-state": "none",
58
58
  children: g("devportal.packageValidation.none", "Package not validated (uploaded before validation existed)")
59
59
  });
60
60
  if (_.kind === "pending") return /* @__PURE__ */ d("p", {
61
- className: t("inline-flex items-center gap-1 text-xs text-status-info-text", p),
61
+ className: e("inline-flex items-center gap-1 text-xs text-status-info-text", p),
62
62
  "data-testid": "package-validation",
63
63
  "data-state": "pending",
64
64
  children: [/* @__PURE__ */ u(c, {
@@ -68,13 +68,13 @@ var h = ({ issues: e }) => /* @__PURE__ */ u("ul", {
68
68
  });
69
69
  let b = _.kind === "failed", x = _.errors.length > 0 || _.warnings.length > 0, S = b ? g("devportal.packageValidation.failed", "Validation failed: {{count}} error(s)", { count: _.errors.length }) : g("devportal.packageValidation.passed", "Package validated");
70
70
  return /* @__PURE__ */ d("div", {
71
- className: t("space-y-1", p),
71
+ className: e("space-y-1", p),
72
72
  "data-testid": "package-validation",
73
73
  "data-state": _.kind,
74
74
  children: [/* @__PURE__ */ d("button", {
75
75
  type: "button",
76
76
  onClick: () => x && y((e) => !e),
77
- className: t("inline-flex items-center gap-1 text-xs font-medium", b ? "text-status-error-text" : "text-status-success-text", x ? "hover:underline" : "cursor-default"),
77
+ className: e("inline-flex items-center gap-1 text-xs font-medium", b ? "text-status-error-text" : "text-status-success-text", x ? "hover:underline" : "cursor-default"),
78
78
  "aria-expanded": x ? v : void 0,
79
79
  children: [
80
80
  u(b ? l : a, { size: 12 }),
@@ -108,7 +108,6 @@ var h = ({ issues: e }) => /* @__PURE__ */ u("ul", {
108
108
  })]
109
109
  });
110
110
  };
111
- //#endregion
112
111
  export { g as PackageValidationPanel, m as readPackageValidationState };
113
112
 
114
113
  //# sourceMappingURL=PackageValidationPanel.js.map