@growth-operations/ui-shared 1.37.0 → 1.37.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@growth-operations/ui-shared",
3
- "version": "1.37.0",
3
+ "version": "1.37.2",
4
4
  "description": "Shared HubSpot UI-extension modules (Home, Billing) for Growth Operations apps.",
5
5
  "license": "MIT",
6
6
  "private": false,
@@ -35,8 +35,10 @@ function ArchetypeTile({ state }) {
35
35
  // + <PlanFitBanner> (upgrade_recommended only)
36
36
  // + <OnboardingChecklist> (only if not complete)
37
37
  // + the archetype activity tile (sync_pulse)
38
- // + <PeriodComparison> (post-checklist, when the
39
- // backend has a full closed period)
38
+ // + the period chart (ungated since 2026-11-12:
39
+ // PeriodComparison when the backend has a full
40
+ // closed period, or the self-fetching
41
+ // BillingPeriodUsage explorer with usageExplorer)
40
42
  // + <FeatureUsage> (once the non-billing setup steps
41
43
  // are done; needs the backend's state.feature_usage
42
44
  // block)
@@ -124,25 +126,31 @@ export function AppHome({ state, onNavigate, appName, onRetry, helpfulLinks, usa
124
126
 
125
127
  <ArchetypeTile state={state} />
126
128
 
127
- {/* Post-checklist: the period chart. Default is the fixed
128
- period-over-period comparison (null until the install has one full
129
- closed period); usageExplorer hosts get the billing-period explorer
130
- instead (it self-fetches, so it renders its own empty state rather
131
- than gating on a closed period). */}
132
- {onboardingComplete &&
133
- (usageExplorer ? (
134
- <BillingPeriodUsage
135
- context={usageExplorer.context}
136
- basePath={usageExplorer.basePath}
137
- portalId={usageExplorer.portalId}
138
- appName={appName}
139
- title="Usage over time"
140
- titleAs="text"
141
- showStats={false}
142
- />
143
- ) : (
144
- <PeriodComparison state={state} />
145
- ))}
129
+ {/* Post-setup: the period chart. Default is the fixed period-over-period
130
+ comparison (null until the install has one full closed period);
131
+ usageExplorer hosts get the billing-period explorer instead (it
132
+ self-fetches, so it renders its own empty state rather than gating
133
+ on a closed period).
134
+ UNGATED — Jasper 2026-11-12: gating on setupStepsComplete still hid
135
+ the chart from trial installs with an open workflow step (LIA trial
136
+ portal 52109545, "Get started 1 of 3"), and the explorer's own empty
137
+ state ("No usage in this window") is the right thing to show there,
138
+ not nothing. The paid-step trap this gate grew out of (Andrew
139
+ 2026-11-11) is moot once there's no gate. FeatureUsage below keeps
140
+ the setupStepsComplete gate. */}
141
+ {usageExplorer ? (
142
+ <BillingPeriodUsage
143
+ context={usageExplorer.context}
144
+ basePath={usageExplorer.basePath}
145
+ portalId={usageExplorer.portalId}
146
+ appName={appName}
147
+ title="Usage over time"
148
+ titleAs="text"
149
+ showStats={false}
150
+ />
151
+ ) : (
152
+ <PeriodComparison state={state} />
153
+ )}
146
154
 
147
155
  {/* Most used / recommended-to-explore (state.feature_usage) — renders
148
156
  nothing on backends without the block or for legacy installs. Gated