@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.
Files changed (112) hide show
  1. package/dist/chunk-4XLJWX2N.js +12 -0
  2. package/dist/chunk-4XLJWX2N.js.map +1 -0
  3. package/dist/{chunk-OLTGB32E.js → chunk-6WMMLMKM.js} +2857 -2045
  4. package/dist/chunk-6WMMLMKM.js.map +1 -0
  5. package/dist/chunk-VFKQMAUF.cjs +12 -0
  6. package/dist/chunk-VFKQMAUF.cjs.map +1 -0
  7. package/dist/{chunk-YGOJIDL5.cjs → chunk-WYLNTZZ7.cjs} +1343 -531
  8. package/dist/chunk-WYLNTZZ7.cjs.map +1 -0
  9. package/dist/components/chat/hooks/use-realtime-chunk-processor.d.ts.map +1 -1
  10. package/dist/components/chat/index.cjs +3 -2
  11. package/dist/components/chat/index.cjs.map +1 -1
  12. package/dist/components/chat/index.js +2 -1
  13. package/dist/components/chat/types/api.types.d.ts +17 -1
  14. package/dist/components/chat/types/api.types.d.ts.map +1 -1
  15. package/dist/components/features/index.cjs +3 -2
  16. package/dist/components/features/index.cjs.map +1 -1
  17. package/dist/components/features/index.js +2 -1
  18. package/dist/components/index.cjs +21 -2
  19. package/dist/components/index.cjs.map +1 -1
  20. package/dist/components/index.d.ts +4 -0
  21. package/dist/components/index.d.ts.map +1 -1
  22. package/dist/components/index.js +20 -1
  23. package/dist/components/navigation/index.cjs +3 -2
  24. package/dist/components/navigation/index.cjs.map +1 -1
  25. package/dist/components/navigation/index.js +2 -1
  26. package/dist/components/shared/delivery/delivery-lists.d.ts +16 -0
  27. package/dist/components/shared/delivery/delivery-lists.d.ts.map +1 -0
  28. package/dist/components/shared/delivery/delivery-table.d.ts +12 -0
  29. package/dist/components/shared/delivery/delivery-table.d.ts.map +1 -0
  30. package/dist/components/shared/delivery/index.d.ts +3 -0
  31. package/dist/components/shared/delivery/index.d.ts.map +1 -0
  32. package/dist/components/shared/dev-section/dev-section-page.d.ts +31 -0
  33. package/dist/components/shared/dev-section/dev-section-page.d.ts.map +1 -0
  34. package/dist/components/shared/dev-section/dev-section-view.d.ts +34 -0
  35. package/dist/components/shared/dev-section/dev-section-view.d.ts.map +1 -0
  36. package/dist/components/shared/dev-section/index.d.ts +3 -0
  37. package/dist/components/shared/dev-section/index.d.ts.map +1 -0
  38. package/dist/components/shared/legal-document/index.d.ts +10 -0
  39. package/dist/components/shared/legal-document/index.d.ts.map +1 -0
  40. package/dist/components/shared/legal-document/legal-document-page.d.ts +66 -0
  41. package/dist/components/shared/legal-document/legal-document-page.d.ts.map +1 -0
  42. package/dist/components/shared/legal-document/use-legal-docs.d.ts +40 -0
  43. package/dist/components/shared/legal-document/use-legal-docs.d.ts.map +1 -0
  44. package/dist/components/shared/product-release/index.d.ts +2 -1
  45. package/dist/components/shared/product-release/index.d.ts.map +1 -1
  46. package/dist/components/shared/product-release/release-detail-page.d.ts +11 -7
  47. package/dist/components/shared/product-release/release-detail-page.d.ts.map +1 -1
  48. package/dist/components/shared/roadmap/index.d.ts +18 -0
  49. package/dist/components/shared/roadmap/index.d.ts.map +1 -0
  50. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts +24 -0
  51. package/dist/components/shared/roadmap/roadmap-grid-skeleton.d.ts.map +1 -0
  52. package/dist/components/shared/roadmap/roadmap-grid.d.ts +18 -0
  53. package/dist/components/shared/roadmap/roadmap-grid.d.ts.map +1 -0
  54. package/dist/components/shared/roadmap/use-roadmap-voting.d.ts +25 -0
  55. package/dist/components/shared/roadmap/use-roadmap-voting.d.ts.map +1 -0
  56. package/dist/components/ui/index.cjs +3 -2
  57. package/dist/components/ui/index.cjs.map +1 -1
  58. package/dist/components/ui/index.js +2 -1
  59. package/dist/components/ui/release-changelog-section.d.ts +13 -2
  60. package/dist/components/ui/release-changelog-section.d.ts.map +1 -1
  61. package/dist/embed-shims/index.cjs +1 -6
  62. package/dist/embed-shims/index.cjs.map +1 -1
  63. package/dist/embed-shims/index.js +1 -6
  64. package/dist/embed-shims/index.js.map +1 -1
  65. package/dist/index.cjs +13 -2
  66. package/dist/index.cjs.map +1 -1
  67. package/dist/index.js +12 -1
  68. package/dist/types/delivery.d.ts +49 -0
  69. package/dist/types/delivery.d.ts.map +1 -0
  70. package/dist/types/index.cjs +13 -0
  71. package/dist/types/index.cjs.map +1 -1
  72. package/dist/types/index.d.ts +1 -0
  73. package/dist/types/index.d.ts.map +1 -1
  74. package/dist/types/index.js +12 -1
  75. package/dist/types/index.js.map +1 -1
  76. package/dist/utils/dev-sections/index.d.ts +11 -0
  77. package/dist/utils/dev-sections/index.d.ts.map +1 -0
  78. package/dist/utils/dev-sections/openframe-dev-sections.d.ts +209 -0
  79. package/dist/utils/dev-sections/openframe-dev-sections.d.ts.map +1 -0
  80. package/dist/utils/index.cjs +82 -0
  81. package/dist/utils/index.cjs.map +1 -1
  82. package/dist/utils/index.d.ts +1 -0
  83. package/dist/utils/index.d.ts.map +1 -1
  84. package/dist/utils/index.js +81 -2
  85. package/dist/utils/index.js.map +1 -1
  86. package/package.json +1 -1
  87. package/src/components/chat/hooks/use-realtime-chunk-processor.ts +53 -6
  88. package/src/components/chat/types/api.types.ts +23 -1
  89. package/src/components/index.ts +8 -0
  90. package/src/components/shared/delivery/delivery-lists.tsx +199 -0
  91. package/src/components/shared/delivery/delivery-table.tsx +174 -0
  92. package/src/components/shared/delivery/index.ts +9 -0
  93. package/src/components/shared/dev-section/dev-section-page.tsx +72 -0
  94. package/src/components/shared/dev-section/dev-section-view.tsx +129 -0
  95. package/src/components/shared/dev-section/index.ts +2 -0
  96. package/src/components/shared/legal-document/index.ts +19 -0
  97. package/src/components/shared/legal-document/legal-document-page.tsx +178 -0
  98. package/src/components/shared/legal-document/use-legal-docs.ts +123 -0
  99. package/src/components/shared/product-release/index.ts +14 -3
  100. package/src/components/shared/product-release/release-detail-page.tsx +45 -7
  101. package/src/components/shared/roadmap/index.ts +23 -0
  102. package/src/components/shared/roadmap/roadmap-grid-skeleton.tsx +74 -0
  103. package/src/components/shared/roadmap/roadmap-grid.tsx +106 -0
  104. package/src/components/shared/roadmap/use-roadmap-voting.ts +163 -0
  105. package/src/components/ui/release-changelog-section.tsx +113 -32
  106. package/src/types/delivery.ts +54 -0
  107. package/src/types/index.ts +1 -0
  108. package/src/utils/dev-sections/index.ts +17 -0
  109. package/src/utils/dev-sections/openframe-dev-sections.ts +148 -0
  110. package/src/utils/index.ts +6 -1
  111. package/dist/chunk-OLTGB32E.js.map +0 -1
  112. 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
@@ -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'