@flamingo-stack/openframe-frontend-core 0.0.206 → 0.0.207-snapshot.20260526023528
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/dist/chunk-4XLJWX2N.js +12 -0
- package/dist/chunk-4XLJWX2N.js.map +1 -0
- package/dist/{chunk-OLTGB32E.js → chunk-6WMMLMKM.js} +2857 -2045
- package/dist/chunk-6WMMLMKM.js.map +1 -0
- package/dist/chunk-VFKQMAUF.cjs +12 -0
- package/dist/chunk-VFKQMAUF.cjs.map +1 -0
- package/dist/{chunk-YGOJIDL5.cjs → chunk-WYLNTZZ7.cjs} +1343 -531
- package/dist/chunk-WYLNTZZ7.cjs.map +1 -0
- package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -1
- package/dist/components/chat/index.cjs +3 -2
- package/dist/components/chat/index.cjs.map +1 -1
- package/dist/components/chat/index.js +2 -1
- package/dist/components/chat/types/api.types.d.ts +17 -1
- package/dist/components/chat/types/api.types.d.ts.map +1 -1
- package/dist/components/features/index.cjs +3 -2
- package/dist/components/features/index.cjs.map +1 -1
- package/dist/components/features/index.js +2 -1
- package/dist/components/index.cjs +21 -2
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.ts +4 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +20 -1
- package/dist/components/navigation/index.cjs +3 -2
- package/dist/components/navigation/index.cjs.map +1 -1
- package/dist/components/navigation/index.js +2 -1
- package/dist/components/shared/delivery/delivery-lists.d.ts +16 -0
- package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -0
- package/dist/components/shared/delivery/delivery-table.d.ts +12 -0
- package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -0
- package/dist/components/shared/delivery/index.d.ts +3 -0
- package/dist/components/shared/delivery/index.d.ts.map +1 -0
- package/dist/components/shared/dev-section/dev-section-page.d.ts +31 -0
- package/dist/components/shared/dev-section/dev-section-page.d.ts.map +1 -0
- package/dist/components/shared/dev-section/dev-section-view.d.ts +34 -0
- package/dist/components/shared/dev-section/dev-section-view.d.ts.map +1 -0
- package/dist/components/shared/dev-section/index.d.ts +3 -0
- package/dist/components/shared/dev-section/index.d.ts.map +1 -0
- package/dist/components/shared/legal-document/index.d.ts +10 -0
- package/dist/components/shared/legal-document/index.d.ts.map +1 -0
- package/dist/components/shared/legal-document/legal-document-page.d.ts +66 -0
- package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -0
- package/dist/components/shared/legal-document/use-legal-docs.d.ts +40 -0
- package/dist/components/shared/legal-document/use-legal-docs.d.ts.map +1 -0
- package/dist/components/shared/product-release/index.d.ts +2 -1
- package/dist/components/shared/product-release/index.d.ts.map +1 -1
- package/dist/components/shared/product-release/release-detail-page.d.ts +11 -7
- package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
- package/dist/components/shared/roadmap/index.d.ts +18 -0
- package/dist/components/shared/roadmap/index.d.ts.map +1 -0
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +24 -0
- package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -0
- package/dist/components/shared/roadmap/roadmap-grid.d.ts +18 -0
- package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -0
- package/dist/components/shared/roadmap/use-roadmap-voting.d.ts +25 -0
- package/dist/components/shared/roadmap/use-roadmap-voting.d.ts.map +1 -0
- package/dist/components/ui/index.cjs +3 -2
- package/dist/components/ui/index.cjs.map +1 -1
- package/dist/components/ui/index.js +2 -1
- package/dist/components/ui/release-changelog-section.d.ts +13 -2
- package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
- package/dist/embed-shims/index.cjs +1 -6
- package/dist/embed-shims/index.cjs.map +1 -1
- package/dist/embed-shims/index.js +1 -6
- package/dist/embed-shims/index.js.map +1 -1
- package/dist/index.cjs +13 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +12 -1
- package/dist/types/delivery.d.ts +49 -0
- package/dist/types/delivery.d.ts.map +1 -0
- package/dist/types/index.cjs +13 -0
- package/dist/types/index.cjs.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +12 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/dev-sections/index.d.ts +11 -0
- package/dist/utils/dev-sections/index.d.ts.map +1 -0
- package/dist/utils/dev-sections/openframe-dev-sections.d.ts +209 -0
- package/dist/utils/dev-sections/openframe-dev-sections.d.ts.map +1 -0
- package/dist/utils/index.cjs +82 -0
- package/dist/utils/index.cjs.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +81 -2
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/src/components/chat/hooks/use-realtime-chunk-processor.ts +53 -6
- package/src/components/chat/types/api.types.ts +23 -1
- package/src/components/index.ts +8 -0
- package/src/components/shared/delivery/delivery-lists.tsx +199 -0
- package/src/components/shared/delivery/delivery-table.tsx +174 -0
- package/src/components/shared/delivery/index.ts +9 -0
- package/src/components/shared/dev-section/dev-section-page.tsx +72 -0
- package/src/components/shared/dev-section/dev-section-view.tsx +129 -0
- package/src/components/shared/dev-section/index.ts +2 -0
- package/src/components/shared/legal-document/index.ts +19 -0
- package/src/components/shared/legal-document/legal-document-page.tsx +178 -0
- package/src/components/shared/legal-document/use-legal-docs.ts +123 -0
- package/src/components/shared/product-release/index.ts +14 -3
- package/src/components/shared/product-release/release-detail-page.tsx +45 -7
- package/src/components/shared/roadmap/index.ts +23 -0
- package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +74 -0
- package/src/components/shared/roadmap/roadmap-grid.tsx +106 -0
- package/src/components/shared/roadmap/use-roadmap-voting.ts +163 -0
- package/src/components/ui/release-changelog-section.tsx +113 -32
- package/src/types/delivery.ts +54 -0
- package/src/types/index.ts +1 -0
- package/src/utils/dev-sections/index.ts +17 -0
- package/src/utils/dev-sections/openframe-dev-sections.ts +148 -0
- package/src/utils/index.ts +6 -1
- package/dist/chunk-OLTGB32E.js.map +0 -1
- package/dist/chunk-YGOJIDL5.cjs.map +0 -1
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical per-section metadata for the OpenFrame dev-center surfaces
|
|
3
|
+
* (Roadmap / Bug-fixes & Enhancements / Releases / Onboarding Guides).
|
|
4
|
+
*
|
|
5
|
+
* One file co-locates every per-section value the openframe homepage
|
|
6
|
+
* navigator card AND the destination full-page hero both consume —
|
|
7
|
+
* icon, brief navigator description, longer hero paragraph, search
|
|
8
|
+
* config (placeholder + paramKey), filter config (paramKey + options).
|
|
9
|
+
*
|
|
10
|
+
* Adding a 5th section is one edit here and zero edits across the
|
|
11
|
+
* page files / navigator grid.
|
|
12
|
+
*
|
|
13
|
+
* EMBEDDER NOTE — `onboarding`:
|
|
14
|
+
* The `onboarding` entry is INERT on `hero`/`search`/`filter` because
|
|
15
|
+
* `/onboarding-guides` is owned by `OnboardingGuidesCatalogView` (a
|
|
16
|
+
* hub-side full-page view), not the shared `DevSectionView` chrome.
|
|
17
|
+
* This entry exists ONLY to drive the homepage navigator card. Any
|
|
18
|
+
* embedder iterating the registry must SKIP `onboarding` if they
|
|
19
|
+
* don't host the `/onboarding-guides` route — e.g.
|
|
20
|
+
* `Object.values(OPENFRAME_DEV_SECTIONS).filter(s => s.href !== '/onboarding-guides')`.
|
|
21
|
+
*
|
|
22
|
+
* SERVER-BUNDLE SAFETY:
|
|
23
|
+
* This module imports lucide-react icon components as JSX values but
|
|
24
|
+
* never RENDERS them at module load. Lib's tsup config places `utils/`
|
|
25
|
+
* in the server bundle (no `"use client"` banner), which is safe
|
|
26
|
+
* because component-function references don't execute on import.
|
|
27
|
+
* Precedent: `src/utils/platform-config.tsx` (also lucide imports,
|
|
28
|
+
* also server-bundle, also imported by route-page `metadata` exports).
|
|
29
|
+
*/
|
|
30
|
+
|
|
31
|
+
import { Map as MapIcon, Wrench, Rocket, GraduationCap, type LucideIcon } from 'lucide-react'
|
|
32
|
+
import { releaseStatusOptions } from '../../types'
|
|
33
|
+
|
|
34
|
+
// Roadmap status options — `as const` preserves readonly tuple typing
|
|
35
|
+
// across the registry boundary.
|
|
36
|
+
export const ROADMAP_STATUS_OPTIONS = [
|
|
37
|
+
{ value: 'all', label: 'All' },
|
|
38
|
+
{ value: 'completed', label: 'Completed' },
|
|
39
|
+
{ value: 'in_progress', label: 'In Progress' },
|
|
40
|
+
] as const
|
|
41
|
+
|
|
42
|
+
// Delivery (ClickUp custom item type) filter options. `Bug` and `Request`
|
|
43
|
+
// are the ClickUp `custom_item_id` labels — 1008 / 1009.
|
|
44
|
+
export const DELIVERY_TASK_TYPE_OPTIONS = [
|
|
45
|
+
{ value: 'all', label: 'All' },
|
|
46
|
+
{ value: 'Bug', label: 'Bug-fix' },
|
|
47
|
+
{ value: 'Request', label: 'Enhancement' },
|
|
48
|
+
] as const
|
|
49
|
+
|
|
50
|
+
export interface OpenframeDevSection {
|
|
51
|
+
/** Route href the navigator card and any internal cross-link composes. */
|
|
52
|
+
href: string
|
|
53
|
+
icon: LucideIcon
|
|
54
|
+
/** Brief copy for the homepage navigator card (≈50 char teaser). */
|
|
55
|
+
navigator: {
|
|
56
|
+
title: string
|
|
57
|
+
description: string
|
|
58
|
+
}
|
|
59
|
+
/** Longer copy for the destination page hero (≈120-150 char marketing paragraph). */
|
|
60
|
+
hero: {
|
|
61
|
+
title: string
|
|
62
|
+
description: string
|
|
63
|
+
}
|
|
64
|
+
/** Inline search bar configuration. */
|
|
65
|
+
search: {
|
|
66
|
+
/** Placeholder text shown in the search input. */
|
|
67
|
+
placeholder: string
|
|
68
|
+
/** URL search param the input writes on submit and the list reads on fetch. */
|
|
69
|
+
paramKey: string
|
|
70
|
+
} | null
|
|
71
|
+
/** Filter pill row configuration. `null` when the section has no filter (e.g. onboarding-guides). */
|
|
72
|
+
filter: {
|
|
73
|
+
label: string
|
|
74
|
+
/** URL search param the pills write and the list reads. */
|
|
75
|
+
paramKey: string
|
|
76
|
+
/** The option value that maps to "no filter applied". When selected,
|
|
77
|
+
* the URL param is removed instead of being set. Defaults to the
|
|
78
|
+
* first option's value if omitted — explicit field guards against
|
|
79
|
+
* brittleness if `options` is later reordered. */
|
|
80
|
+
defaultValue: string
|
|
81
|
+
options: readonly { value: string; label: string }[]
|
|
82
|
+
} | null
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export const OPENFRAME_DEV_SECTIONS = {
|
|
86
|
+
roadmap: {
|
|
87
|
+
href: '/roadmap',
|
|
88
|
+
icon: MapIcon,
|
|
89
|
+
navigator: {
|
|
90
|
+
title: 'Development Roadmap',
|
|
91
|
+
description: "What we're building next — vote on upcoming features.",
|
|
92
|
+
},
|
|
93
|
+
hero: {
|
|
94
|
+
title: 'Development Roadmap',
|
|
95
|
+
description:
|
|
96
|
+
"See what's in flight, what's planned, and what's up for community vote. The entire OpenFrame roadmap is public.",
|
|
97
|
+
},
|
|
98
|
+
search: { placeholder: 'Search roadmap items...', paramKey: 'search' },
|
|
99
|
+
filter: { label: 'Status', paramKey: 'status', defaultValue: 'all', options: ROADMAP_STATUS_OPTIONS },
|
|
100
|
+
},
|
|
101
|
+
delivery: {
|
|
102
|
+
href: '/bug-fixes-and-enhancements',
|
|
103
|
+
icon: Wrench,
|
|
104
|
+
navigator: {
|
|
105
|
+
title: 'Bug-fixes & Enhancements',
|
|
106
|
+
description: 'Recently shipped fixes and improvements.',
|
|
107
|
+
},
|
|
108
|
+
hero: {
|
|
109
|
+
title: 'Bug-fixes & Enhancements',
|
|
110
|
+
description:
|
|
111
|
+
'A running log of fixes and improvements shipping into OpenFrame — recently completed and actively in progress.',
|
|
112
|
+
},
|
|
113
|
+
search: { placeholder: 'Search tasks...', paramKey: 'search' },
|
|
114
|
+
filter: { label: 'Type', paramKey: 'task_type', defaultValue: 'all', options: DELIVERY_TASK_TYPE_OPTIONS },
|
|
115
|
+
},
|
|
116
|
+
releases: {
|
|
117
|
+
href: '/releases',
|
|
118
|
+
icon: Rocket,
|
|
119
|
+
navigator: {
|
|
120
|
+
title: 'Product Releases',
|
|
121
|
+
description: 'Version history and release notes.',
|
|
122
|
+
},
|
|
123
|
+
hero: {
|
|
124
|
+
title: 'Product Releases',
|
|
125
|
+
description:
|
|
126
|
+
'Version notes, change summaries, and stability tier (alpha / beta / stable) for every OpenFrame release.',
|
|
127
|
+
},
|
|
128
|
+
search: { placeholder: 'Search releases...', paramKey: 'search' },
|
|
129
|
+
filter: { label: 'Status', paramKey: 'release_status', defaultValue: 'all', options: releaseStatusOptions },
|
|
130
|
+
},
|
|
131
|
+
onboarding: {
|
|
132
|
+
href: '/onboarding-guides',
|
|
133
|
+
icon: GraduationCap,
|
|
134
|
+
navigator: {
|
|
135
|
+
title: 'Onboarding Guides',
|
|
136
|
+
description: 'Step-by-step product walkthroughs.',
|
|
137
|
+
},
|
|
138
|
+
// `hero` / `search` / `filter` are intentionally inert here —
|
|
139
|
+
// /onboarding-guides is owned by OnboardingGuidesCatalogView, not
|
|
140
|
+
// DevSectionView. This entry exists ONLY to drive the homepage
|
|
141
|
+
// navigator card so all 4 cards stay in one registry.
|
|
142
|
+
hero: { title: '', description: '' },
|
|
143
|
+
search: null,
|
|
144
|
+
filter: null,
|
|
145
|
+
},
|
|
146
|
+
} as const satisfies Record<string, OpenframeDevSection>
|
|
147
|
+
|
|
148
|
+
export type OpenframeDevSectionKey = keyof typeof OPENFRAME_DEV_SECTIONS
|
package/src/utils/index.ts
CHANGED
|
@@ -168,4 +168,9 @@ export { isCrossOriginUrl } from '../components/chat/utils/is-cross-origin-url'
|
|
|
168
168
|
// React-version-aware `fetchpriority` prop builder — spread into `<img>`
|
|
169
169
|
// / `<iframe>` so the rendered DOM attribute is correct under React 18
|
|
170
170
|
// (lowercase) AND React 19 (camelCase) without console warnings.
|
|
171
|
-
export { fetchPriorityProp, type FetchPriorityValue } from './fetch-priority'
|
|
171
|
+
export { fetchPriorityProp, type FetchPriorityValue } from './fetch-priority'
|
|
172
|
+
|
|
173
|
+
// Dev-center section registry (Roadmap / Delivery / Releases / Onboarding) —
|
|
174
|
+
// server-safe (no JSX, no contexts/* imports); imported by route-page
|
|
175
|
+
// `metadata` exports + the shared `<DevSectionView>` chrome.
|
|
176
|
+
export * from './dev-sections'
|