@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
@@ -46,5 +46,9 @@ export * from './date-time-picker';
46
46
  export * from './chat';
47
47
  export * from './shared/onboarding';
48
48
  export * from './shared/product-release';
49
+ export * from './shared/dev-section';
50
+ export * from './shared/roadmap';
51
+ export * from './shared/delivery';
52
+ export * from './shared/legal-document';
49
53
  export { DetailPageSkeleton, type DetailPageSkeletonProps } from './shared/detail-page-skeleton';
50
54
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AAGpB,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,kBAAkB,CAAA;AAGhC,cAAc,WAAW,CAAA;AAGzB,cAAc,aAAa,CAAA;AAG3B,cAAc,oBAAoB,CAAA;AAGlC,cAAc,QAAQ,CAAA;AAGtB,cAAc,qBAAqB,CAAA;AAGnC,cAAc,0BAA0B,CAAA;AAGxC,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAGA,cAAc,QAAQ,CAAA;AACtB,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,cAAc,YAAY,CAAA;AAC1B,cAAc,MAAM,CAAA;AAGpB,cAAc,oBAAoB,CAAA;AAClC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,6BAA6B,CAAA;AAC3C,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,eAAe,CAAA;AAC7B,cAAc,UAAU,CAAA;AACxB,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,8BAA8B,CAAA;AAC5C,cAAc,yBAAyB,CAAA;AACvC,cAAc,mBAAmB,CAAA;AACjC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,yBAAyB,CAAA;AACvC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAEhC,cAAc,kBAAkB,CAAA;AAGhC,cAAc,WAAW,CAAA;AAGzB,cAAc,aAAa,CAAA;AAG3B,cAAc,oBAAoB,CAAA;AAGlC,cAAc,QAAQ,CAAA;AAGtB,cAAc,qBAAqB,CAAA;AAGnC,cAAc,0BAA0B,CAAA;AAGxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AAGjC,cAAc,yBAAyB,CAAA;AAGvC,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,+BAA+B,CAAA"}
@@ -171,9 +171,13 @@ import {
171
171
  DatePickerInput,
172
172
  DatePickerInputSimple,
173
173
  DateTimePicker,
174
+ DeliveryLists,
175
+ DeliveryTable,
174
176
  DetailLoader,
175
177
  DetailPageContainer,
176
178
  DetailPageSkeleton,
179
+ DevSectionPage,
180
+ DevSectionView,
177
181
  DeviceCard,
178
182
  DeviceCardCompact,
179
183
  DeviceCardSkeleton,
@@ -274,6 +278,7 @@ import {
274
278
  InvestorUpdateCardSkeleton,
275
279
  KnowledgeBaseLinksManager,
276
280
  Label,
281
+ LegalDocumentPage,
277
282
  ListLoader,
278
283
  ListPageContainer,
279
284
  ListPageLayout,
@@ -420,6 +425,8 @@ import {
420
425
  ResultsHeaderSkeleton,
421
426
  RoadmapCard,
422
427
  RoadmapCardSkeleton,
428
+ RoadmapGrid,
429
+ RoadmapGridSkeleton,
423
430
  RoadmapVoteButton,
424
431
  SCROLL_ANCHOR,
425
432
  SCROLL_ANCHOR_WIRE_KEY,
@@ -668,6 +675,7 @@ import {
668
675
  useEmbeddedChat,
669
676
  useFiltersDropdown,
670
677
  useJetStreamDialogSubscription,
678
+ useLegalDocs,
671
679
  useLoading,
672
680
  useNatsDialogSubscription,
673
681
  useNotifications,
@@ -676,6 +684,7 @@ import {
676
684
  usePaginationLoading,
677
685
  useProxiedImageUrl,
678
686
  useRealtimeChunkProcessor,
687
+ useRoadmapVoting,
679
688
  useSSE,
680
689
  useSectionNavigation,
681
690
  useSlashCommands,
@@ -683,7 +692,7 @@ import {
683
692
  useThemeToggle,
684
693
  useUnifiedFiltering,
685
694
  vendorFilterConfig
686
- } from "../chunk-OLTGB32E.js";
695
+ } from "../chunk-6WMMLMKM.js";
687
696
  import {
688
697
  CommandApprovalToast,
689
698
  ToastCard,
@@ -697,6 +706,7 @@ import {
697
706
  import "../chunk-J2C2TI5Z.js";
698
707
  import "../chunk-7L4DWM7P.js";
699
708
  import "../chunk-MJNXIEV2.js";
709
+ import "../chunk-4XLJWX2N.js";
700
710
  import "../chunk-PLJLE4A4.js";
701
711
  import "../chunk-LXC6P2EO.js";
702
712
  import "../chunk-EL5YVPD5.js";
@@ -1092,11 +1102,15 @@ export {
1092
1102
  DatePickerInput,
1093
1103
  DatePickerInputSimple,
1094
1104
  DateTimePicker,
1105
+ DeliveryLists,
1106
+ DeliveryTable,
1095
1107
  DenoIcon,
1096
1108
  DesktopIcon,
1097
1109
  DetailLoader,
1098
1110
  DetailPageContainer,
1099
1111
  DetailPageSkeleton,
1112
+ DevSectionPage,
1113
+ DevSectionView,
1100
1114
  DeviceCard,
1101
1115
  DeviceCardCompact,
1102
1116
  DeviceCardSkeleton,
@@ -1251,6 +1265,7 @@ export {
1251
1265
  KnowledgeBaseLinksManager,
1252
1266
  Label,
1253
1267
  LaptopIcon,
1268
+ LegalDocumentPage,
1254
1269
  LinkedInIcon,
1255
1270
  LinuxIcon,
1256
1271
  ListLoader,
@@ -1441,6 +1456,8 @@ export {
1441
1456
  ResultsHeaderSkeleton,
1442
1457
  RoadmapCard,
1443
1458
  RoadmapCardSkeleton,
1459
+ RoadmapGrid,
1460
+ RoadmapGridSkeleton,
1444
1461
  RoadmapVoteButton,
1445
1462
  SCROLL_ANCHOR,
1446
1463
  SCROLL_ANCHOR_WIRE_KEY,
@@ -1742,6 +1759,7 @@ export {
1742
1759
  useEmbeddedChat,
1743
1760
  useFiltersDropdown,
1744
1761
  useJetStreamDialogSubscription,
1762
+ useLegalDocs,
1745
1763
  useLoading,
1746
1764
  useNatsDialogSubscription,
1747
1765
  useNotifications,
@@ -1751,6 +1769,7 @@ export {
1751
1769
  usePaginationLoading,
1752
1770
  useProxiedImageUrl,
1753
1771
  useRealtimeChunkProcessor,
1772
+ useRoadmapVoting,
1754
1773
  useSSE,
1755
1774
  useSectionNavigation,
1756
1775
  useSlashCommands,
@@ -15,11 +15,12 @@
15
15
 
16
16
 
17
17
 
18
- var _chunkYGOJIDL5cjs = require('../../chunk-YGOJIDL5.cjs');
18
+ var _chunkWYLNTZZ7cjs = require('../../chunk-WYLNTZZ7.cjs');
19
19
  require('../../chunk-JUZGUQMX.cjs');
20
20
  require('../../chunk-VJTFBYVG.cjs');
21
21
  require('../../chunk-6RZYJICV.cjs');
22
22
  require('../../chunk-27APPAJN.cjs');
23
+ require('../../chunk-VFKQMAUF.cjs');
23
24
  require('../../chunk-G7UE6RKV.cjs');
24
25
  require('../../chunk-XL4V2PYG.cjs');
25
26
  require('../../chunk-BZFW3FOF.cjs');
@@ -45,5 +46,5 @@ require('../../chunk-VRHGVLSL.cjs');
45
46
 
46
47
 
47
48
 
48
- exports.AppHeader = _chunkYGOJIDL5cjs.AppHeader; exports.AppLayout = _chunkYGOJIDL5cjs.AppLayout; exports.ClientOnlyHeader = _chunkYGOJIDL5cjs.ClientOnlyHeader; exports.Header = _chunkYGOJIDL5cjs.Header; exports.HeaderButton = _chunkYGOJIDL5cjs.HeaderButton; exports.HeaderGlobalSearch = _chunkYGOJIDL5cjs.HeaderGlobalSearch; exports.HeaderOrganizationFilter = _chunkYGOJIDL5cjs.HeaderOrganizationFilter; exports.HeaderSkeleton = _chunkYGOJIDL5cjs.HeaderSkeleton; exports.MobileBurgerMenu = _chunkYGOJIDL5cjs.MobileBurgerMenu; exports.MobileNavPanel = _chunkYGOJIDL5cjs.MobileNavPanel; exports.NavigationSidebar = _chunkYGOJIDL5cjs.NavigationSidebar; exports.SlidingSidebar = _chunkYGOJIDL5cjs.SlidingSidebar; exports.StickySectionNav = _chunkYGOJIDL5cjs.StickySectionNav; exports.useSectionNavigation = _chunkYGOJIDL5cjs.useSectionNavigation;
49
+ exports.AppHeader = _chunkWYLNTZZ7cjs.AppHeader; exports.AppLayout = _chunkWYLNTZZ7cjs.AppLayout; exports.ClientOnlyHeader = _chunkWYLNTZZ7cjs.ClientOnlyHeader; exports.Header = _chunkWYLNTZZ7cjs.Header; exports.HeaderButton = _chunkWYLNTZZ7cjs.HeaderButton; exports.HeaderGlobalSearch = _chunkWYLNTZZ7cjs.HeaderGlobalSearch; exports.HeaderOrganizationFilter = _chunkWYLNTZZ7cjs.HeaderOrganizationFilter; exports.HeaderSkeleton = _chunkWYLNTZZ7cjs.HeaderSkeleton; exports.MobileBurgerMenu = _chunkWYLNTZZ7cjs.MobileBurgerMenu; exports.MobileNavPanel = _chunkWYLNTZZ7cjs.MobileNavPanel; exports.NavigationSidebar = _chunkWYLNTZZ7cjs.NavigationSidebar; exports.SlidingSidebar = _chunkWYLNTZZ7cjs.SlidingSidebar; exports.StickySectionNav = _chunkWYLNTZZ7cjs.StickySectionNav; exports.useSectionNavigation = _chunkWYLNTZZ7cjs.useSectionNavigation;
49
50
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/components/navigation/index.cjs"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,20BAAC","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/components/navigation/index.cjs"}
1
+ {"version":3,"sources":["/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/components/navigation/index.cjs"],"names":[],"mappings":"AAAA,qFAAY;AACZ,YAAY;AACZ;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,4DAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC,oCAAiC;AACjC;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACF,20BAAC","file":"/home/runner/work/openframe-oss-lib/openframe-oss-lib/openframe-frontend-core/dist/components/navigation/index.cjs"}
@@ -15,11 +15,12 @@ import {
15
15
  SlidingSidebar,
16
16
  StickySectionNav,
17
17
  useSectionNavigation
18
- } from "../../chunk-OLTGB32E.js";
18
+ } from "../../chunk-6WMMLMKM.js";
19
19
  import "../../chunk-SCN5WFIZ.js";
20
20
  import "../../chunk-J2C2TI5Z.js";
21
21
  import "../../chunk-7L4DWM7P.js";
22
22
  import "../../chunk-MJNXIEV2.js";
23
+ import "../../chunk-4XLJWX2N.js";
23
24
  import "../../chunk-PLJLE4A4.js";
24
25
  import "../../chunk-LXC6P2EO.js";
25
26
  import "../../chunk-EL5YVPD5.js";
@@ -0,0 +1,16 @@
1
+ export interface DeliveryListsProps {
2
+ /** GET endpoint for the "Recently Completed" bucket. Default
3
+ * `/api/delivery/completed`. */
4
+ completedApiEndpoint?: string;
5
+ /** GET endpoint for the "Active Tasks" bucket. Default
6
+ * `/api/delivery/in-progress`. */
7
+ inProgressApiEndpoint?: string;
8
+ /** URL param key for the search input. MUST match the consuming
9
+ * chrome's `section.search.paramKey`. Default `'search'`. */
10
+ searchParamKey?: string;
11
+ /** URL param key for the task-type filter. MUST match the consuming
12
+ * chrome's `section.filter.paramKey`. Default `'task_type'`. */
13
+ taskTypeParamKey?: string;
14
+ }
15
+ export declare function DeliveryLists({ completedApiEndpoint, inProgressApiEndpoint, searchParamKey, taskTypeParamKey, }?: DeliveryListsProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=delivery-lists.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-lists.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/delivery/delivery-lists.tsx"],"names":[],"mappings":"AA0CA,MAAM,WAAW,kBAAkB;IACjC;qCACiC;IACjC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;uCACmC;IACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;kEAC8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;qEACiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,aAAa,CAAC,EAC5B,oBAAiD,EACjD,qBAAoD,EACpD,cAAyC,EACzC,gBAA8C,GAC/C,GAAE,kBAAuB,2CAwIzB"}
@@ -0,0 +1,12 @@
1
+ import { type DeliveryItem } from '../../../types/delivery';
2
+ interface DeliveryTableProps {
3
+ items: DeliveryItem[];
4
+ isLoading?: boolean;
5
+ }
6
+ /**
7
+ * DeliveryTable Component
8
+ * Displays bug fixes and enhancements with fixed-height rows
9
+ */
10
+ export declare function DeliveryTable({ items, isLoading }: DeliveryTableProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
12
+ //# sourceMappingURL=delivery-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-table.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/delivery/delivery-table.tsx"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,YAAY,EAGlB,MAAM,yBAAyB,CAAC;AAEjC,UAAU,kBAAkB;IAC1B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AA6DD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,SAAiB,EAAE,EAAE,kBAAkB,2CA+F7E"}
@@ -0,0 +1,3 @@
1
+ export { DeliveryLists, type DeliveryListsProps } from './delivery-lists';
2
+ export { DeliveryTable } from './delivery-table';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/delivery/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * DevSectionPage — full-page wrapper for a dev-center section
3
+ * (`/roadmap`, `/bug-fixes-and-enhancements`, `/releases`).
4
+ *
5
+ * Mounts the lib's canonical `PageLayout` directly (no in-app wrapper)
6
+ * so the back-button affordance stays in lockstep with whatever the
7
+ * design system ships — any future lib change to BackButton / TitleBlock
8
+ * propagates automatically.
9
+ *
10
+ * Composition: `PageShell` → `PageLayout` (back-to-home wired) →
11
+ * `DevSectionView` (icon hero + search + filter pills) → list body.
12
+ *
13
+ * Adding a new section is one entry in `OPENFRAME_DEV_SECTIONS` plus a
14
+ * single-line page file mounting this factory with the new key.
15
+ */
16
+ import type { ReactNode } from 'react';
17
+ import { type OpenframeDevSectionKey } from '../../../utils/dev-sections/openframe-dev-sections';
18
+ export interface DevSectionPageProps {
19
+ sectionKey: OpenframeDevSectionKey;
20
+ /** The page-specific list body (e.g. `<RoadmapList />`). */
21
+ children: ReactNode;
22
+ /** Back-button config — same shape as `LegalDocumentPage` /
23
+ * `ReleaseDetailPage`. Pass `false` to hide. Default
24
+ * `{ label: 'Back to home', href: '/' }`. */
25
+ backButton?: {
26
+ label?: string;
27
+ href?: string;
28
+ } | false;
29
+ }
30
+ export declare function DevSectionPage({ sectionKey, children, backButton }: DevSectionPageProps): import("react/jsx-runtime").JSX.Element;
31
+ //# sourceMappingURL=dev-section-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-section-page.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/dev-section/dev-section-page.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oDAAoD,CAAC;AAI5D,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,sBAAsB,CAAC;IACnC,4DAA4D;IAC5D,QAAQ,EAAE,SAAS,CAAC;IACpB;;kDAE8C;IAC9C,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;CACxD;AAED,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,mBAAmB,2CAgCvF"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * DevSectionView — the canonical chrome for ANY dev-center section
3
+ * (Roadmap / Delivery / Releases). One component, used in BOTH:
4
+ *
5
+ * - tabbed `/roadmap-and-releases` (compact title mode, no `hero`)
6
+ * - full-page `/roadmap`, `/bug-fixes-and-enhancements`, `/releases`
7
+ * (hero mode with icon + description + back link)
8
+ *
9
+ * Owns: title rendering, the inline search input, the filter pill row,
10
+ * and the URL-param wiring that connects both. The list `children`
11
+ * receive a clean URL contract — they read `?<paramKey>=...` via
12
+ * `useSearchParams()` and refetch on change. No duplicated controls.
13
+ */
14
+ import type { ReactNode } from 'react';
15
+ import { type OpenframeDevSectionKey } from '../../../utils/dev-sections/openframe-dev-sections';
16
+ export interface DevSectionViewProps {
17
+ /** Which section to render — drives title, search, and filter
18
+ * config via the `OPENFRAME_DEV_SECTIONS` registry. */
19
+ sectionKey: OpenframeDevSectionKey;
20
+ /** When set, renders the rich page-level hero (icon + h1 + description).
21
+ * Omit for the compact tab-context heading. */
22
+ hero?: {
23
+ /** Pre-rendered icon JSX. Server components render the icon themselves
24
+ * and pass the element here — function references can't cross the
25
+ * server→client boundary, but React elements can. */
26
+ icon: ReactNode;
27
+ description: string;
28
+ };
29
+ /** The page-specific list body. Reads URL params written by this
30
+ * component (search input + filter pills). */
31
+ children: ReactNode;
32
+ }
33
+ export declare function DevSectionView({ sectionKey, hero, children }: DevSectionViewProps): import("react/jsx-runtime").JSX.Element;
34
+ //# sourceMappingURL=dev-section-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-section-view.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/dev-section/dev-section-view.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,OAAO,EAEL,KAAK,sBAAsB,EAC5B,MAAM,oDAAoD,CAAC;AAE5D,MAAM,WAAW,mBAAmB;IAClC;4DACwD;IACxD,UAAU,EAAE,sBAAsB,CAAC;IACnC;oDACgD;IAChD,IAAI,CAAC,EAAE;QACL;;8DAEsD;QACtD,IAAI,EAAE,SAAS,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;mDAC+C;IAC/C,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,cAAc,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CAoFjF"}
@@ -0,0 +1,3 @@
1
+ export { DevSectionView, type DevSectionViewProps } from './dev-section-view';
2
+ export { DevSectionPage, type DevSectionPageProps } from './dev-section-page';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/dev-section/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Shared legal-document surface barrel.
3
+ *
4
+ * Exports one parameterized `<LegalDocumentPage>` that replaces hub's
5
+ * formerly-duplicated `PrivacyPolicyPage` + `TermsOfServicePage`
6
+ * (95% identical, differing only in copy strings).
7
+ */
8
+ export { LegalDocumentPage, type LegalDocumentPageProps, type LegalDocumentMarkdownRendererProps, } from './legal-document-page';
9
+ export { useLegalDocs, type LegalDocument, type UseLegalDocsOptions, type UseLegalDocsReturn, } from './use-legal-docs';
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/legal-document/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,kCAAkC,GACxC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,YAAY,EACZ,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * LegalDocumentPage — unified UI for privacy-policy, terms-of-service,
3
+ * and any other markdown-backed legal document.
4
+ *
5
+ * Replaces two near-identical hub components (`PrivacyPolicyPage` +
6
+ * `TermsOfServicePage`) that differed only in title, contact email,
7
+ * and copy strings. Caller passes those as props.
8
+ *
9
+ * Markdown rendering: defaults to lib's `SimpleMarkdownRenderer`
10
+ * (sufficient for plain-markdown legal docs). Embedders that need
11
+ * richer markdown (embeds, video, OG previews) pass their own via
12
+ * the `MarkdownRenderer` prop — same injection pattern as
13
+ * `ReleaseDetailPage`.
14
+ *
15
+ * Endpoint configuration: forwarded to `useLegalDocs(docType, { apiEndpoint })`.
16
+ */
17
+ import type { ComponentType } from 'react';
18
+ import { type LegalDocument } from './use-legal-docs';
19
+ export interface LegalDocumentMarkdownRendererProps {
20
+ content: string;
21
+ sectionIds?: Array<{
22
+ id: string;
23
+ title: string;
24
+ level: number;
25
+ }>;
26
+ demoteMarkdownH1ToH2?: boolean;
27
+ }
28
+ export interface LegalDocumentPageProps {
29
+ /** Document type identifier — drives the default API endpoint
30
+ * `/api/legal/<docType>` AND the error-log prefix. Common values:
31
+ * `'privacy'`, `'terms'`. Embedders may use any string. */
32
+ docType: string;
33
+ /** Heading text (e.g. "Privacy Policy", "Terms of Service"). */
34
+ title: string;
35
+ /** Fallback subtitle shown when no `lastUpdated` date is available
36
+ * (e.g. "Our privacy policy and data protection practices"). */
37
+ fallbackDescription: string;
38
+ /** Email shown in the error + empty-state copy
39
+ * (e.g. `'privacy@openframe.io'`, `'legal@openframe.io'`). */
40
+ contactEmail: string;
41
+ /** Prompt shown above the contact link in the error state
42
+ * (e.g. "For privacy-related questions, please contact:"). */
43
+ errorContactPrompt: string;
44
+ /** Title for the error block (e.g. "Unable to load privacy policy"). */
45
+ errorTitle: string;
46
+ /** Sentence shown when the API returns no document
47
+ * (e.g. "Privacy policy content is not available at this time."). */
48
+ emptyStateMessage: string;
49
+ /** SSR-prepared document, if available. */
50
+ initialData?: LegalDocument | null;
51
+ /** SSR-prepared formatted "Last Updated" label. Stable across hydration. */
52
+ initialLastUpdatedLabel?: string | null;
53
+ /** Override the default `/api/legal/<docType>` endpoint
54
+ * (reverse-proxy embedders, alternate API paths). */
55
+ apiEndpoint?: string;
56
+ /** Override the default markdown renderer. */
57
+ MarkdownRenderer?: ComponentType<LegalDocumentMarkdownRendererProps>;
58
+ /** Back-button config — same pattern as `DevSectionPage`. Pass `false`
59
+ * to hide. Default `{ label: 'Back to home', href: '/' }`. */
60
+ backButton?: {
61
+ label?: string;
62
+ href?: string;
63
+ } | false;
64
+ }
65
+ export declare function LegalDocumentPage({ docType, title, fallbackDescription, contactEmail, errorContactPrompt, errorTitle, emptyStateMessage, initialData, initialLastUpdatedLabel, apiEndpoint, MarkdownRenderer, backButton, }: LegalDocumentPageProps): import("react/jsx-runtime").JSX.Element;
66
+ //# sourceMappingURL=legal-document-page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"legal-document-page.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/legal-document/legal-document-page.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAI3C,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGpE,MAAM,WAAW,kCAAkC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACjE,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,sBAAsB;IACrC;;gEAE4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAC;IACd;qEACiE;IACjE,mBAAmB,EAAE,MAAM,CAAC;IAC5B;mEAC+D;IAC/D,YAAY,EAAE,MAAM,CAAC;IACrB;mEAC+D;IAC/D,kBAAkB,EAAE,MAAM,CAAC;IAC3B,wEAAwE;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB;0EACsE;IACtE,iBAAiB,EAAE,MAAM,CAAC;IAC1B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,4EAA4E;IAC5E,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC;0DACsD;IACtD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,aAAa,CAAC,kCAAkC,CAAC,CAAC;IACrE;mEAC+D;IAC/D,UAAU,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;CACxD;AAED,wBAAgB,iBAAiB,CAAC,EAChC,OAAO,EACP,KAAK,EACL,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,WAAkB,EAClB,uBAA8B,EAC9B,WAAW,EACX,gBAAyC,EACzC,UAAU,GACX,EAAE,sBAAsB,2CAiGxB"}
@@ -0,0 +1,40 @@
1
+ export interface LegalDocument {
2
+ title: string;
3
+ content: string;
4
+ sourceFile: string;
5
+ lastSynced: string | null;
6
+ githubSha: string | null;
7
+ sections: Array<{
8
+ id: string;
9
+ title: string;
10
+ level: number;
11
+ }>;
12
+ docType: string;
13
+ meta: {
14
+ sectionsCount: number;
15
+ contentLength: number;
16
+ lastSyncedAgo: string;
17
+ };
18
+ }
19
+ export interface UseLegalDocsReturn {
20
+ data: LegalDocument | null;
21
+ isLoading: boolean;
22
+ error: string | null;
23
+ refetch: () => void;
24
+ }
25
+ export interface UseLegalDocsOptions {
26
+ /** Optional pre-fetched payload from server (SSR / RSC). When set,
27
+ * the hook skips the initial client fetch. */
28
+ initialData?: LegalDocument | null;
29
+ /** Full GET endpoint URL. Default `/api/legal/<docType>`. */
30
+ apiEndpoint?: string;
31
+ }
32
+ /**
33
+ * Hook to fetch a legal document.
34
+ * @param docType — short identifier for the document (drives the
35
+ * default endpoint path AND the error-log prefix). Common values:
36
+ * `'privacy'` (SECURITY.md), `'terms'` (LICENSE). Embedders may use
37
+ * any string — the hook treats it as opaque.
38
+ */
39
+ export declare function useLegalDocs(docType: string, options?: UseLegalDocsOptions): UseLegalDocsReturn;
40
+ //# sourceMappingURL=use-legal-docs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-legal-docs.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/legal-document/use-legal-docs.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC;mDAC+C;IAC/C,WAAW,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,mBAAwB,GAChC,kBAAkB,CAiEpB"}
@@ -1,5 +1,6 @@
1
1
  export { ProductReleaseCard, type ProductReleaseCardProps } from './product-release-card';
2
2
  export { ProductReleaseCardSkeleton, type ProductReleaseCardSkeletonProps } from './product-release-card-skeleton';
3
- export { ReleaseDetailPage, type ReleaseDetailPageProps, type VideoDisplaySectionProps, type MarkdownRendererProps, type RoadmapItem, type DeliveryResponse, type RoadmapSectionProps, type DeliverySectionProps } from './release-detail-page';
3
+ export { ReleaseDetailPage, type ReleaseDetailPageProps, type VideoDisplaySectionProps, type MarkdownRendererProps, type RoadmapItem, } from './release-detail-page';
4
+ export type { DeliveryResponse } from '../../../types/delivery';
4
5
  export { ReleaseDetailSkeleton } from './release-detail-skeleton';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/product-release/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACzF,OAAO,EAAE,0BAA0B,EAAE,KAAK,+BAA+B,EAAE,MAAM,iCAAiC,CAAA;AAClH,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAC1B,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/product-release/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AACzF,OAAO,EAAE,0BAA0B,EAAE,KAAK,+BAA+B,EAAE,MAAM,iCAAiC,CAAA;AAClH,OAAO,EACL,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,qBAAqB,EAC1B,KAAK,WAAW,GACjB,MAAM,uBAAuB,CAAA;AAc9B,YAAY,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA"}
@@ -3,12 +3,9 @@ import type { VideoTeaser } from '../../../types/video-processing';
3
3
  export interface MarkdownRendererProps {
4
4
  content: string;
5
5
  }
6
- export type { RoadmapItem } from '../../chat/types/entities/roadmap-item';
7
6
  import type { RoadmapItem } from '../../chat/types/entities/roadmap-item';
8
- export interface DeliveryResponse {
9
- completed: unknown[];
10
- inProgress: unknown[];
11
- }
7
+ import type { DeliveryResponse } from '../../../types/delivery';
8
+ export type { RoadmapItem, DeliveryResponse };
12
9
  export interface RoadmapSectionProps {
13
10
  items: RoadmapItem[];
14
11
  isLoading: boolean;
@@ -54,6 +51,13 @@ export interface ReleaseDetailPageProps {
54
51
  VideoDisplaySection?: ComponentType<VideoDisplaySectionProps>;
55
52
  roadmapApiEndpoint?: string;
56
53
  deliveryApiEndpoint?: string;
57
- }
58
- export declare function ReleaseDetailPage({ slug, initialData, useRelease, MarkdownRenderer, RoadmapSection, DeliverySection, VideoSection, VideoDisplaySection, roadmapApiEndpoint, deliveryApiEndpoint }: ReleaseDetailPageProps): import("react/jsx-runtime").JSX.Element;
54
+ /** Back-button config — same pattern as `DevSectionPage` /
55
+ * `LegalDocumentPage`. Pass `false` to hide. Default
56
+ * `{ label: 'Back to home', href: '/' }`. */
57
+ backButton?: {
58
+ label?: string;
59
+ href?: string;
60
+ } | false;
61
+ }
62
+ export declare function ReleaseDetailPage({ slug, initialData, useRelease, MarkdownRenderer, RoadmapSection, DeliverySection, VideoSection, VideoDisplaySection, roadmapApiEndpoint, deliveryApiEndpoint, backButton }: ReleaseDetailPageProps): import("react/jsx-runtime").JSX.Element;
59
63
  //# sourceMappingURL=release-detail-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"release-detail-page.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/product-release/release-detail-page.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAuB,aAAa,EAAE,MAAM,OAAO,CAAC;AAe3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAGnE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AASD,YAAY,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAE1E,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,EAAE,CAAC;IACrB,UAAU,EAAE,OAAO,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;CAC5C;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAGD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,wBAAwB;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,KAAK,gBAAgB,CAAC;IAE3D,gBAAgB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IACpD,eAAe,CAAC,EAAE,aAAa,CAAC,oBAAoB,CAAC,CAAC;IACtD,YAAY,CAAC,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAChD,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,aAAa,CAAC,wBAAwB,CAAC,CAAC;IAE9D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAOD,wBAAgB,iBAAiB,CAAC,EAChC,IAAI,EACJ,WAAW,EACX,UAAU,EACV,gBAA0C,EAC1C,cAAc,EACd,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,kBAAmC,EACnC,mBAAqC,EACtC,EAAE,sBAAsB,2CAucxB"}
1
+ {"version":3,"file":"release-detail-page.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/product-release/release-detail-page.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared roadmap surface barrel.
3
+ *
4
+ * IMPORTANT: This barrel MUST NOT re-export `RoadmapItem`. The canonical
5
+ * type is exported via two paths already:
6
+ * - `@flamingo-stack/openframe-frontend-core/components/chat`
7
+ * (the source of truth at `chat/types/entities/roadmap-item.ts`)
8
+ * - `@flamingo-stack/openframe-frontend-core/components` (via
9
+ * `./shared/product-release` re-export)
10
+ *
11
+ * Adding a third re-export path here would trigger TypeScript's TS2308
12
+ * ambiguous re-export warning. Consumers needing the type should import
13
+ * it from one of the two existing paths.
14
+ */
15
+ export { RoadmapGrid, type RoadmapGridProps } from './roadmap-grid';
16
+ export { RoadmapGridSkeleton, type RoadmapGridSkeletonProps } from './roadmap-grid-skeleton';
17
+ export { useRoadmapVoting, type VoteState, type UseRoadmapVotingOptions } from './use-roadmap-voting';
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/roadmap/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,KAAK,wBAAwB,EAAE,MAAM,yBAAyB,CAAC;AAM7F,OAAO,EAAE,gBAAgB,EAAE,KAAK,SAAS,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * RoadmapGridSkeleton — loading state for the `/roadmap` grid view.
3
+ *
4
+ * Pure JSX (no hooks, no events) — `'use client'` not strictly required
5
+ * here; tsup's client-entry banner injects it automatically when this
6
+ * file is bundled into the client output. We match the playbook's
7
+ * skeleton-file convention (no directive when no hooks).
8
+ *
9
+ * NOTE: lib's `chat/entity-cards/roadmap-card.tsx` also exports a
10
+ * `RoadmapCardSkeleton` — that one is the COMPACT 56px chat-card
11
+ * variant. This file's internal card-skeleton (340px grid card)
12
+ * intentionally stays file-internal to avoid the naming collision;
13
+ * only `RoadmapGridSkeleton` is exported.
14
+ */
15
+ export interface RoadmapGridSkeletonProps {
16
+ /** Number of skeleton cards to show. Default 4. */
17
+ count?: number;
18
+ /** Show the desktop left margin (~120px) that aligns the grid with
19
+ * the page hero's title block. Default `true`. Related-content rails
20
+ * inside narrower surfaces (e.g. the release detail page) pass `false`. */
21
+ showLeftMargin?: boolean;
22
+ }
23
+ export declare function RoadmapGridSkeleton({ count, showLeftMargin }: RoadmapGridSkeletonProps): import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=roadmap-grid-skeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmap-grid-skeleton.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/roadmap/roadmap-grid-skeleton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA2CH,MAAM,WAAW,wBAAwB;IACvC,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;gFAE4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,EAAE,KAAS,EAAE,cAAqB,EAAE,EAAE,wBAAwB,2CAQjG"}
@@ -0,0 +1,18 @@
1
+ import { type UseRoadmapVotingOptions } from './use-roadmap-voting';
2
+ import type { RoadmapItem } from '../../chat/types/entities/roadmap-item';
3
+ export interface RoadmapGridProps {
4
+ items: RoadmapItem[];
5
+ onItemUpdate?: (updatedItem: RoadmapItem) => void;
6
+ /** Show the desktop left margin (~120px) that aligns the grid with
7
+ * the page hero. Default `true`. Related-content rails pass `false`. */
8
+ showLeftMargin?: boolean;
9
+ /** URL builder for the per-task refresh call after a successful vote.
10
+ * Function shape because the taskId sits in the URL path, not a
11
+ * query param. Default `(t) => \`/api/roadmap/${t}\``. */
12
+ buildRefreshUrl?: (taskId: string) => string;
13
+ /** Voting hook options (vote endpoint + storage key) — see
14
+ * `useRoadmapVoting`. */
15
+ votingOptions?: UseRoadmapVotingOptions;
16
+ }
17
+ export declare function RoadmapGrid({ items, onItemUpdate, showLeftMargin, buildRefreshUrl, votingOptions, }: RoadmapGridProps): import("react/jsx-runtime").JSX.Element;
18
+ //# sourceMappingURL=roadmap-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roadmap-grid.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/roadmap/roadmap-grid.tsx"],"names":[],"mappings":"AAuBA,OAAO,EAAoB,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAEtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,wCAAwC,CAAC;AAI1E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;IAClD;6EACyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;+DAE2D;IAC3D,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C;8BAC0B;IAC1B,aAAa,CAAC,EAAE,uBAAuB,CAAC;CACzC;AAED,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,YAAY,EACZ,cAAqB,EACrB,eAA2C,EAC3C,aAAa,GACd,EAAE,gBAAgB,2CAuDlB"}
@@ -0,0 +1,25 @@
1
+ export type VoteType = 'up' | 'down' | null;
2
+ export interface VoteState {
3
+ [taskId: string]: VoteType;
4
+ }
5
+ export interface UseRoadmapVotingOptions {
6
+ /** Vote endpoint URL. Default `/api/roadmap/vote`. */
7
+ voteApiEndpoint?: string;
8
+ /** localStorage key. Default `'roadmap_votes_v1'`. Embedders mounting
9
+ * multiple roadmap surfaces in the same origin can scope per-surface
10
+ * (e.g. `'roadmap_votes_v1_main'` vs `'roadmap_votes_v1_admin'`) so
11
+ * votes don't cross-contaminate. */
12
+ storageKey?: string;
13
+ }
14
+ export declare function useRoadmapVoting(options?: UseRoadmapVotingOptions): {
15
+ votes: VoteState;
16
+ isLoading: boolean;
17
+ getVote: (taskId: string) => VoteType;
18
+ toggleVote: (taskId: string, voteType: "up" | "down") => Promise<{
19
+ success: boolean;
20
+ newVote: VoteType;
21
+ action: "add" | "remove";
22
+ }>;
23
+ clearVotes: () => void;
24
+ };
25
+ //# sourceMappingURL=use-roadmap-voting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-roadmap-voting.d.ts","sourceRoot":"","sources":["../../../../src/components/shared/roadmap/use-roadmap-voting.ts"],"names":[],"mappings":"AAmBA,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;AAE5C,MAAM,WAAW,SAAS;IACxB,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC5B;AAED,MAAM,WAAW,uBAAuB;IACtC,sDAAsD;IACtD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;yCAGqC;IACrC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAKD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B;;;sBAwCzD,MAAM,KAAG,QAAQ;yBAQhB,MAAM,YACJ,IAAI,GAAG,MAAM,KACtB,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,QAAQ,CAAC;QAAC,MAAM,EAAE,KAAK,GAAG,QAAQ,CAAA;KAAE,CAAC;;EA0EhF"}