@contractspec/bundle.library 3.9.6 → 3.9.8
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/.turbo/turbo-build.log +238 -230
- package/CHANGELOG.md +88 -0
- package/dist/components/docs/DocsIndexPage.js +2 -2
- package/dist/components/docs/docsManifest.js +1 -1
- package/dist/components/docs/getting-started/DataViewTutorialPage.js +40 -4
- package/dist/components/docs/getting-started/index.js +46 -10
- package/dist/components/docs/guides/GuideContractDrivenFormsPage.content.d.ts +3 -0
- package/dist/components/docs/guides/GuideContractDrivenFormsPage.content.js +95 -0
- package/dist/components/docs/guides/GuideContractDrivenFormsPage.d.ts +1 -0
- package/dist/components/docs/guides/GuideContractDrivenFormsPage.js +95 -0
- package/dist/components/docs/guides/GuideSpecValidationTypingPage.js +1 -1
- package/dist/components/docs/guides/GuidesIndexPage.js +2 -2
- package/dist/components/docs/guides/guides.docblocks.js +3 -1
- package/dist/components/docs/guides/index.d.ts +1 -0
- package/dist/components/docs/guides/index.js +139 -44
- package/dist/components/docs/index.js +586 -266
- package/dist/components/docs/libraries/LibrariesApplicationShellPage.content.d.ts +16 -0
- package/dist/components/docs/libraries/LibrariesApplicationShellPage.content.js +148 -0
- package/dist/components/docs/libraries/LibrariesApplicationShellPage.d.ts +1 -0
- package/dist/components/docs/libraries/LibrariesApplicationShellPage.js +148 -0
- package/dist/components/docs/libraries/LibrariesDataViewsPage.js +13 -6
- package/dist/components/docs/libraries/LibrariesDesignSystemPage.js +3 -3
- package/dist/components/docs/libraries/LibrariesOverviewPage.js +1 -1
- package/dist/components/docs/libraries/index.d.ts +1 -0
- package/dist/components/docs/libraries/index.js +217 -64
- package/dist/components/docs/specs/SpecsDataViewsPage.js +37 -1
- package/dist/components/docs/specs/index.js +37 -1
- package/dist/index.js +597 -277
- package/dist/libs/posthog/client.js +1 -1
- package/dist/node/components/docs/DocsIndexPage.js +2 -2
- package/dist/node/components/docs/docsManifest.js +1 -1
- package/dist/node/components/docs/getting-started/DataViewTutorialPage.js +40 -4
- package/dist/node/components/docs/getting-started/index.js +46 -10
- package/dist/node/components/docs/guides/GuideContractDrivenFormsPage.content.js +94 -0
- package/dist/node/components/docs/guides/GuideContractDrivenFormsPage.js +94 -0
- package/dist/node/components/docs/guides/GuideSpecValidationTypingPage.js +1 -1
- package/dist/node/components/docs/guides/GuidesIndexPage.js +2 -2
- package/dist/node/components/docs/guides/guides.docblocks.js +3 -1
- package/dist/node/components/docs/guides/index.js +139 -44
- package/dist/node/components/docs/index.js +586 -266
- package/dist/node/components/docs/libraries/LibrariesApplicationShellPage.content.js +147 -0
- package/dist/node/components/docs/libraries/LibrariesApplicationShellPage.js +147 -0
- package/dist/node/components/docs/libraries/LibrariesDataViewsPage.js +13 -6
- package/dist/node/components/docs/libraries/LibrariesDesignSystemPage.js +3 -3
- package/dist/node/components/docs/libraries/LibrariesOverviewPage.js +1 -1
- package/dist/node/components/docs/libraries/index.js +217 -64
- package/dist/node/components/docs/specs/SpecsDataViewsPage.js +37 -1
- package/dist/node/components/docs/specs/index.js +37 -1
- package/dist/node/index.js +597 -277
- package/dist/node/libs/posthog/client.js +1 -1
- package/package.json +71 -23
- package/src/components/docs/docsManifest.ts +22 -0
- package/src/components/docs/generated/docs-index._common.json +2008 -1699
- package/src/components/docs/generated/docs-index.agent-console.json +377 -377
- package/src/components/docs/generated/docs-index.ai-chat-assistant.json +17 -17
- package/src/components/docs/generated/docs-index.ai-chat.json +105 -105
- package/src/components/docs/generated/docs-index.ai-support-bot.json +9 -9
- package/src/components/docs/generated/docs-index.analytics-dashboard.json +169 -169
- package/src/components/docs/generated/docs-index.app-config.json +137 -137
- package/src/components/docs/generated/docs-index.artisan-knowledge-product.json +17 -17
- package/src/components/docs/generated/docs-index.artisan-payments-stripe.json +33 -33
- package/src/components/docs/generated/docs-index.audit-trail.json +49 -49
- package/src/components/docs/generated/docs-index.calendar-google.json +9 -9
- package/src/components/docs/generated/docs-index.content-generation.json +9 -9
- package/src/components/docs/generated/docs-index.control-plane.json +17 -17
- package/src/components/docs/generated/docs-index.crm-pipeline.json +161 -161
- package/src/components/docs/generated/docs-index.data-grid-showcase.json +25 -25
- package/src/components/docs/generated/docs-index.defineExample.json +9 -9
- package/src/components/docs/generated/docs-index.email-gmail.json +9 -9
- package/src/components/docs/generated/docs-index.feature-flags.json +217 -217
- package/src/components/docs/generated/docs-index.files.json +177 -177
- package/src/components/docs/generated/docs-index.generated.ts +20 -20
- package/src/components/docs/generated/docs-index.harness-lab.json +9 -9
- package/src/components/docs/generated/docs-index.health.json +97 -97
- package/src/components/docs/generated/docs-index.identity-rbac.json +313 -313
- package/src/components/docs/generated/docs-index.in-app-docs.json +9 -9
- package/src/components/docs/generated/docs-index.integration-hub.json +265 -265
- package/src/components/docs/generated/docs-index.integration-posthog.json +9 -9
- package/src/components/docs/generated/docs-index.integration-stripe.json +9 -9
- package/src/components/docs/generated/docs-index.integration-supabase.json +9 -9
- package/src/components/docs/generated/docs-index.jobs.json +137 -137
- package/src/components/docs/generated/docs-index.kb-update-pipeline.json +129 -129
- package/src/components/docs/generated/docs-index.knowledge-canon.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ambient-coach.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-crm-onboarding.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-duo-drills.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-platform-tour.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-quest-challenges.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-registry.json +33 -33
- package/src/components/docs/generated/docs-index.learning-journey-studio-onboarding.json +49 -49
- package/src/components/docs/generated/docs-index.learning-journey-ui-coaching.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-gamified.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-onboarding.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey-ui-shared.json +9 -9
- package/src/components/docs/generated/docs-index.learning-journey.json +241 -241
- package/src/components/docs/generated/docs-index.learning-patterns.json +9 -9
- package/src/components/docs/generated/docs-index.lifecycle-cli.json +9 -9
- package/src/components/docs/generated/docs-index.lifecycle-dashboard.json +9 -9
- package/src/components/docs/generated/docs-index.locale-jurisdiction-gate.json +65 -65
- package/src/components/docs/generated/docs-index.marketplace.json +337 -337
- package/src/components/docs/generated/docs-index.meeting-recorder-providers.json +9 -9
- package/src/components/docs/generated/docs-index.meeting-recorder.json +49 -49
- package/src/components/docs/generated/docs-index.messaging-agent-actions.json +17 -17
- package/src/components/docs/generated/docs-index.metrics.json +201 -201
- package/src/components/docs/generated/docs-index.minimal.json +17 -17
- package/src/components/docs/generated/docs-index.mobile-demo-landing.json +41 -41
- package/src/components/docs/generated/docs-index.notifications.json +65 -65
- package/src/components/docs/generated/docs-index.openbanking-powens.json +9 -9
- package/src/components/docs/generated/docs-index.openbanking.json +65 -65
- package/src/components/docs/generated/docs-index.opencode-cli.json +17 -17
- package/src/components/docs/generated/docs-index.personalization.json +9 -9
- package/src/components/docs/generated/docs-index.platform-acp.json +137 -137
- package/src/components/docs/generated/docs-index.platform-agent.json +201 -201
- package/src/components/docs/generated/docs-index.platform-context.json +121 -121
- package/src/components/docs/generated/docs-index.platform-control-plane.json +321 -321
- package/src/components/docs/generated/docs-index.platform-database.json +89 -89
- package/src/components/docs/generated/docs-index.platform-docs.json +161 -161
- package/src/components/docs/generated/docs-index.platform-harness.json +177 -177
- package/src/components/docs/generated/docs-index.platform-integrations.json +329 -329
- package/src/components/docs/generated/docs-index.platform-knowledge.json +57 -57
- package/src/components/docs/generated/docs-index.platform-provider-ranking.json +217 -217
- package/src/components/docs/generated/docs-index.pocket-family-office.json +129 -129
- package/src/components/docs/generated/docs-index.policy-safe-knowledge-assistant.json +9 -9
- package/src/components/docs/generated/docs-index.product-intent.json +9 -9
- package/src/components/docs/generated/docs-index.project-management-sync.json +9 -9
- package/src/components/docs/generated/docs-index.saas-boilerplate.json +209 -209
- package/src/components/docs/generated/docs-index.service-business-os.json +193 -193
- package/src/components/docs/generated/docs-index.team-hub.json +185 -185
- package/src/components/docs/generated/docs-index.unknown.json +521 -521
- package/src/components/docs/generated/docs-index.versioned-knowledge-base.json +81 -81
- package/src/components/docs/generated/docs-index.video-api-showcase.json +33 -33
- package/src/components/docs/generated/docs-index.video-docs-terminal.json +9 -9
- package/src/components/docs/generated/docs-index.video-marketing-clip.json +9 -9
- package/src/components/docs/generated/docs-index.visualization-showcase.json +17 -17
- package/src/components/docs/generated/docs-index.voice-providers.json +9 -9
- package/src/components/docs/generated/docs-index.wealth-snapshot.json +153 -153
- package/src/components/docs/generated/docs-index.workflow-system.json +433 -433
- package/src/components/docs/generated/docs-index.workspace-cli.json +9 -9
- package/src/components/docs/getting-started/DataViewTutorialPage.tsx +40 -1
- package/src/components/docs/guides/GuideContractDrivenFormsPage.content.ts +98 -0
- package/src/components/docs/guides/GuideContractDrivenFormsPage.tsx +143 -0
- package/src/components/docs/guides/GuideSpecValidationTypingPage.tsx +2 -2
- package/src/components/docs/guides/GuidesIndexPage.tsx +7 -0
- package/src/components/docs/guides/guides.docblocks.ts +12 -0
- package/src/components/docs/guides/index.ts +1 -0
- package/src/components/docs/libraries/LibrariesApplicationShellPage.content.ts +170 -0
- package/src/components/docs/libraries/LibrariesApplicationShellPage.tsx +112 -0
- package/src/components/docs/libraries/LibrariesDataViewsPage.tsx +26 -5
- package/src/components/docs/libraries/LibrariesDesignSystemPage.tsx +9 -0
- package/src/components/docs/libraries/LibrariesOverviewPage.tsx +6 -0
- package/src/components/docs/libraries/index.ts +1 -0
- package/src/components/docs/specs/SpecsDataViewsPage.tsx +39 -3
- package/src/libs/posthog/client.ts +11 -9
|
@@ -62,7 +62,9 @@ export function UserPage() {
|
|
|
62
62
|
<code>filters</code>: Current filter state object.
|
|
63
63
|
</li>
|
|
64
64
|
<li>
|
|
65
|
-
<code>onFilterChange</code>: Callback when filters change.
|
|
65
|
+
<code>onFilterChange</code>: Callback when typed filters change.
|
|
66
|
+
Renderers emit <code>DataViewFilterValue</code> objects for numeric,
|
|
67
|
+
percent, currency, temporal, duration, and boolean filters.
|
|
66
68
|
</li>
|
|
67
69
|
<li>
|
|
68
70
|
<code>pagination</code>: Object with <code>page</code>,{' '}
|
|
@@ -71,6 +73,18 @@ export function UserPage() {
|
|
|
71
73
|
<li>
|
|
72
74
|
<code>onPageChange</code>: Callback when page changes.
|
|
73
75
|
</li>
|
|
76
|
+
<li>
|
|
77
|
+
<code>viewMode</code> / <code>defaultViewMode</code>: Controlled
|
|
78
|
+
or initial collection mode for specs that allow <code>list</code>,{' '}
|
|
79
|
+
<code>grid</code>, or <code>table</code> projections through{' '}
|
|
80
|
+
<code>view.collection.viewModes</code>.
|
|
81
|
+
</li>
|
|
82
|
+
<li>
|
|
83
|
+
<code>density</code> / <code>defaultDensity</code>: Controlled or
|
|
84
|
+
initial density for collection renderers, seeded by{' '}
|
|
85
|
+
<code>view.collection.density</code> and table{' '}
|
|
86
|
+
<code>view.density</code>.
|
|
87
|
+
</li>
|
|
74
88
|
</ul>
|
|
75
89
|
</div>
|
|
76
90
|
|
|
@@ -86,12 +100,19 @@ export function UserPage() {
|
|
|
86
100
|
code={`import { DataViewQueryGenerator } from '@contractspec/lib.contracts-spec/data-views/query-generator';
|
|
87
101
|
|
|
88
102
|
const generator = new DataViewQueryGenerator(MyUserList);
|
|
89
|
-
const
|
|
103
|
+
const params = {
|
|
90
104
|
pagination: { page: 1, pageSize: 20 },
|
|
91
|
-
filters: {
|
|
92
|
-
}
|
|
105
|
+
filters: {
|
|
106
|
+
role: { kind: 'single', value: 'admin' },
|
|
107
|
+
revenue: { kind: 'range', from: 1000, to: 5000 },
|
|
108
|
+
lastSeenAt: { kind: 'single', value: '2026-04-28T08:30:00Z' }
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const errors = generator.validateParams(params);
|
|
113
|
+
const query = generator.generate(params);
|
|
93
114
|
|
|
94
|
-
// query.input contains
|
|
115
|
+
// query.input contains skip/take plus the typed filter payloads.`}
|
|
95
116
|
/>
|
|
96
117
|
</div>
|
|
97
118
|
|
|
@@ -187,6 +187,7 @@ export function LibrariesDesignSystemPage() {
|
|
|
187
187
|
<div className="card-subtle p-4">
|
|
188
188
|
<h3 className="mb-2 font-semibold">Organisms</h3>
|
|
189
189
|
<ul className="space-y-1 text-muted-foreground text-sm">
|
|
190
|
+
<li>AppShell, PageOutline</li>
|
|
190
191
|
<li>AppLayout, AppHeader, AppSidebar</li>
|
|
191
192
|
<li>MarketingLayout, HeroSection</li>
|
|
192
193
|
<li>ListCardPage, ListTablePage</li>
|
|
@@ -224,6 +225,14 @@ export function LibrariesDesignSystemPage() {
|
|
|
224
225
|
<h2 className="font-bold text-2xl">Where this layer fits</h2>
|
|
225
226
|
<p className="text-muted-foreground">
|
|
226
227
|
Read{' '}
|
|
228
|
+
<Link
|
|
229
|
+
href="/docs/libraries/application-shell"
|
|
230
|
+
className="text-[color:var(--rust)] underline underline-offset-4"
|
|
231
|
+
>
|
|
232
|
+
Application shell
|
|
233
|
+
</Link>{' '}
|
|
234
|
+
for the shared sidebar, topbar, command search, mobile navigation, and{' '}
|
|
235
|
+
<code>PageOutline</code> pattern. Read{' '}
|
|
227
236
|
<Link
|
|
228
237
|
href="/docs/libraries/cross-platform-ui"
|
|
229
238
|
className="text-[color:var(--rust)] underline underline-offset-4"
|
|
@@ -48,6 +48,12 @@ const libraryGroups = [
|
|
|
48
48
|
'Build higher-level product surfaces and documented marketing/docs primitives on top of the web and native UI packages.',
|
|
49
49
|
href: '/docs/libraries/design-system',
|
|
50
50
|
},
|
|
51
|
+
{
|
|
52
|
+
title: 'Application shell',
|
|
53
|
+
description:
|
|
54
|
+
'Adopt the shared sidebar, topbar, command search, mobile navigation, and PageOutline patterns for product apps.',
|
|
55
|
+
href: '/docs/libraries/application-shell',
|
|
56
|
+
},
|
|
51
57
|
{
|
|
52
58
|
title: 'Cross-platform UI',
|
|
53
59
|
description:
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { LibrariesAccessibilityPage } from './LibrariesAccessibilityPage';
|
|
2
2
|
export { LibrariesAiAgentPage } from './LibrariesAiAgentPage';
|
|
3
3
|
export { LibrariesAnalyticsPage } from './LibrariesAnalyticsPage';
|
|
4
|
+
export { LibrariesApplicationShellPage } from './LibrariesApplicationShellPage';
|
|
4
5
|
export { LibrariesContentGenPage } from './LibrariesContentGenPage';
|
|
5
6
|
export { LibrariesContractsPage } from './LibrariesContractsPage';
|
|
6
7
|
export { LibrariesCostTrackingPage } from './LibrariesCostTrackingPage';
|
|
@@ -45,8 +45,44 @@ export const DataGridShowcaseDataView = defineDataView({
|
|
|
45
45
|
{ key: 'account', label: 'Account', dataPath: 'account', sortable: true },
|
|
46
46
|
{ key: 'owner', label: 'Owner', dataPath: 'owner', sortable: true },
|
|
47
47
|
{ key: 'status', label: 'Status', dataPath: 'status', sortable: true },
|
|
48
|
+
{
|
|
49
|
+
key: 'arr',
|
|
50
|
+
label: 'ARR',
|
|
51
|
+
dataPath: 'arr',
|
|
52
|
+
sortable: true,
|
|
53
|
+
format: { type: 'currency', currency: 'USD', rounded: true },
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
key: 'healthScore',
|
|
57
|
+
label: 'Health score',
|
|
58
|
+
dataPath: 'healthScore',
|
|
59
|
+
format: { type: 'percent', valueScale: 'fraction', maximumFractionDigits: 1 },
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
key: 'lastActivityAt',
|
|
63
|
+
label: 'Last activity',
|
|
64
|
+
dataPath: 'lastActivityAt',
|
|
65
|
+
format: { type: 'datetime', dateStyle: 'medium', timeStyle: 'short' },
|
|
66
|
+
},
|
|
48
67
|
{ key: 'notes', label: 'Notes', dataPath: 'notes' },
|
|
49
68
|
],
|
|
69
|
+
filters: [
|
|
70
|
+
{ key: 'status', label: 'Status', field: 'status', type: 'enum' },
|
|
71
|
+
{
|
|
72
|
+
key: 'arr',
|
|
73
|
+
label: 'ARR',
|
|
74
|
+
field: 'arr',
|
|
75
|
+
type: 'currency',
|
|
76
|
+
valueMode: 'range',
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
key: 'lastActivityAt',
|
|
80
|
+
label: 'Last activity',
|
|
81
|
+
field: 'lastActivityAt',
|
|
82
|
+
type: 'datetime',
|
|
83
|
+
valueMode: 'range',
|
|
84
|
+
},
|
|
85
|
+
],
|
|
50
86
|
},
|
|
51
87
|
});`;
|
|
52
88
|
|
|
@@ -84,9 +120,9 @@ export function SpecsDataViewsPage() {
|
|
|
84
120
|
<h3 className="font-semibold text-lg">Filtering</h3>
|
|
85
121
|
<p className="text-muted-foreground">
|
|
86
122
|
Define filters that users can apply to narrow down results.
|
|
87
|
-
Filters
|
|
88
|
-
|
|
89
|
-
|
|
123
|
+
Filters are typed as search, enum, number, percent, currency,
|
|
124
|
+
date, time, datetime, duration, or boolean so renderers and query
|
|
125
|
+
helpers can validate values before execution.
|
|
90
126
|
</p>
|
|
91
127
|
</div>
|
|
92
128
|
<div>
|
|
@@ -29,25 +29,26 @@ const shouldCaptureAnalytics = () => {
|
|
|
29
29
|
return dnt !== '1' && dnt !== 'yes';
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
+
const isDevelopment = () => process.env.NODE_ENV === 'development';
|
|
33
|
+
|
|
32
34
|
export function initPosthog() {
|
|
33
35
|
if (typeof window === 'undefined') return;
|
|
36
|
+
if (isDevelopment()) return;
|
|
34
37
|
if (!posthogKey) {
|
|
35
38
|
console.warn('[PostHog] NEXT_PUBLIC_CONTRACTSPEC_POSTHOG_KEY is missing');
|
|
36
39
|
return;
|
|
37
40
|
}
|
|
38
41
|
if (!shouldCaptureAnalytics()) return;
|
|
39
42
|
|
|
40
|
-
const isDev = process.env.NODE_ENV === 'development';
|
|
41
|
-
|
|
42
43
|
posthog.init(posthogKey, {
|
|
43
44
|
api_host: posthogHost,
|
|
44
|
-
autocapture:
|
|
45
|
-
capture_dead_clicks:
|
|
46
|
-
capture_performance:
|
|
47
|
-
capture_pageview:
|
|
48
|
-
capture_heatmaps:
|
|
49
|
-
capture_exceptions:
|
|
50
|
-
debug:
|
|
45
|
+
autocapture: true,
|
|
46
|
+
capture_dead_clicks: true,
|
|
47
|
+
capture_performance: true,
|
|
48
|
+
capture_pageview: true,
|
|
49
|
+
capture_heatmaps: true,
|
|
50
|
+
capture_exceptions: true,
|
|
51
|
+
debug: false,
|
|
51
52
|
});
|
|
52
53
|
}
|
|
53
54
|
|
|
@@ -56,6 +57,7 @@ export function captureAnalyticsEvent(
|
|
|
56
57
|
properties?: Record<string, unknown>
|
|
57
58
|
) {
|
|
58
59
|
if (!posthogKey) return;
|
|
60
|
+
if (isDevelopment()) return;
|
|
59
61
|
if (!shouldCaptureAnalytics()) return;
|
|
60
62
|
try {
|
|
61
63
|
const globalPosthog = (globalThis as { posthog?: PostHogInstance }).posthog;
|